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

/** Short summary of the weather along the route. */
@Fluent
public final class WeatherAlongRouteSummary {
    /*
     * Numeric value representing an image that displays the `iconPhrase`. Please refer to [Weather Service
     * Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details.
     */
    @JsonProperty(value = "iconCode")
    private IconCode iconCode;

    /*
     * Description of the weather hazard affecting the trip.
     */
    @JsonProperty(value = "hazards")
    private WeatherHazards hazards;

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

    /**
     * Get the iconCode property: Numeric value representing an image that displays the `iconPhrase`. Please refer to
     * [Weather Service Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details.
     *
     * @return the iconCode value.
     */
    public IconCode getIconCode() {
        return this.iconCode;
    }

    /**
     * Set the iconCode property: Numeric value representing an image that displays the `iconPhrase`. Please refer to
     * [Weather Service Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details.
     *
     * @param iconCode the iconCode value to set.
     * @return the WeatherAlongRouteSummary object itself.
     */
    public WeatherAlongRouteSummary setIconCode(IconCode iconCode) {
        this.iconCode = iconCode;
        return this;
    }

    /**
     * Get the hazards property: Description of the weather hazard affecting the trip.
     *
     * @return the hazards value.
     */
    public WeatherHazards getHazards() {
        return this.hazards;
    }

    /**
     * Set the hazards property: Description of the weather hazard affecting the trip.
     *
     * @param hazards the hazards value to set.
     * @return the WeatherAlongRouteSummary object itself.
     */
    public WeatherAlongRouteSummary setHazards(WeatherHazards hazards) {
        this.hazards = hazards;
        return this;
    }
}
