// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// Code generated by Microsoft (R) AutoRest Code Generator.

package com.azure.maps.weather.models;

import com.azure.core.annotation.Fluent;
import com.fasterxml.jackson.annotation.JsonProperty;

/** Government-issued active storm. */
@Fluent
public final class ActiveStorm {
    /*
     * Year of origination
     */
    @JsonProperty(value = "year")
    private String year;

    /*
     * Basin identifier (AL, EP, SI, NI, CP, NP, SP)
     */
    @JsonProperty(value = "basinId")
    private BasinId basinId;

    /*
     * The name of the depression.
     */
    @JsonProperty(value = "name")
    private String name;

    /*
     * True if the depression has been updated recently.
     */
    @JsonProperty(value = "isActive")
    private Boolean isActive;

    /*
     * True when the depression is classified as a subtropical cyclone.
     */
    @JsonProperty(value = "isSubtropical")
    private Boolean isSubtropical;

    /*
     * Government storm ID. This will match the depression number.
     */
    @JsonProperty(value = "govId")
    private Integer govId;

    /** Set default ActiveStorm constructor to private */
    private ActiveStorm() {}

    /**
     * Get the year property: Year of origination.
     *
     * @return the year value.
     */
    public Integer getYear() {
        String returnValue = this.year;
        return Integer.valueOf(returnValue);
    }

    /**
     * Get the basinId property: Basin identifier (AL, EP, SI, NI, CP, NP, SP).
     *
     * @return the basinId value.
     */
    public BasinId getBasinId() {
        return this.basinId;
    }

    /**
     * Get the name property: The name of the depression.
     *
     * @return the name value.
     */
    public String getName() {
        return this.name;
    }

    /**
     * Get the isActive property: True if the depression has been updated recently.
     *
     * @return the isActive value.
     */
    public Boolean isActive() {
        return this.isActive;
    }

    /**
     * Get the isSubtropical property: True when the depression is classified as a subtropical cyclone.
     *
     * @return the isSubtropical value.
     */
    public Boolean isSubtropical() {
        return this.isSubtropical;
    }

    /**
     * Get the govId property: Government storm ID. This will match the depression number.
     *
     * @return the govId value.
     */
    public Integer getGovId() {
        return this.govId;
    }
}
