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

/** Detailed information about an individual pollutant. Not returned if `pollutants`=false. */
@Fluent
public final class Pollutant {
    /*
     * Type of pollutant. Please note that more may be added at any time.
     */
    @JsonProperty(value = "type")
    private PollutantType type;

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

    /*
     * Air quality rating on a scale set by local regulating bodies. Scales can vary widely based on location. See
     * [Wikipedia](https://en.wikipedia.org/wiki/Air_quality_index) for more information.
     */
    @JsonProperty(value = "index")
    private Float index;

    /*
     * Internationally normalized air quality rating on a scale from 0 to 300 and up, with higher numbers representing
     * worse air quality.
     */
    @JsonProperty(value = "globalIndex")
    private Float globalIndex;

    /*
     * An object containing the number of pollutant particles per volume of air.
     */
    @JsonProperty(value = "concentration")
    private WeatherUnitDetails concentration;

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

    /**
     * Get the type property: Type of pollutant. Please note that more may be added at any time.
     *
     * @return the type value.
     */
    public PollutantType getType() {
        return this.type;
    }

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

    /**
     * Get the index property: Air quality rating on a scale set by local regulating bodies. Scales can vary widely
     * based on location. See [Wikipedia](https://en.wikipedia.org/wiki/Air_quality_index) for more information.
     *
     * @return the index value.
     */
    public Float getIndex() {
        return this.index;
    }

    /**
     * Get the globalIndex property: Internationally normalized air quality rating on a scale from 0 to 300 and up, with
     * higher numbers representing worse air quality.
     *
     * @return the globalIndex value.
     */
    public Float getGlobalIndex() {
        return this.globalIndex;
    }

    /**
     * Get the concentration property: An object containing the number of pollutant particles per volume of air.
     *
     * @return the concentration value.
     */
    public WeatherUnitDetails getConcentration() {
        return this.concentration;
    }
}
