// 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;

/** The AirAndPollen model. */
@Fluent
public final class AirAndPollen {
    /*
     * Name of the pollen or pollutant. For example, grass, mold, weed, air quality, tree and UV index.
     */
    @JsonProperty(value = "name")
    private String description;

    /*
     * Value of the given type above. Values associated with mold, grass, weed and tree are in units of parts per cubic
     * meter. Both air quality and UV are indices, so they are unitless.
     */
    @JsonProperty(value = "value")
    private Integer value;

    /*
     * Category of the air quality or pollution type. For example, low, high, good, moderate, unhealthy, hazardous.
     */
    @JsonProperty(value = "category")
    private String category;

    /*
     * Value associated with the air quality or pollution category. These values range from 1 to 6. 1 implying good
     * conditions, 6 implying hazardous conditions.
     */
    @JsonProperty(value = "categoryValue")
    private Integer categoryValue;

    /*
     * Only exists for air quality. Examples include ozone and particle pollution.
     */
    @JsonProperty(value = "type")
    private String airQualityType;

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

    /**
     * Get the description property: Name of the pollen or pollutant. For example, grass, mold, weed, air quality, tree
     * and UV index.
     *
     * @return the description value.
     */
    public String getDescription() {
        return this.description;
    }

    /**
     * Get the value property: Value of the given type above. Values associated with mold, grass, weed and tree are in
     * units of parts per cubic meter. Both air quality and UV are indices, so they are unitless.
     *
     * @return the value value.
     */
    public Integer getValue() {
        return this.value;
    }

    /**
     * Get the category property: Category of the air quality or pollution type. For example, low, high, good, moderate,
     * unhealthy, hazardous.
     *
     * @return the category value.
     */
    public String getCategory() {
        return this.category;
    }

    /**
     * Get the categoryValue property: Value associated with the air quality or pollution category. These values range
     * from 1 to 6. 1 implying good conditions, 6 implying hazardous conditions.
     *
     * @return the categoryValue value.
     */
    public Integer getCategoryValue() {
        return this.categoryValue;
    }

    /**
     * Get the airQualityType property: Only exists for air quality. Examples include ozone and particle pollution.
     *
     * @return the airQualityType value.
     */
    public String getAirQualityType() {
        return this.airQualityType;
    }
}
