Package org.silverpeas.looks.aurora.service.weather

## Class WeatherCache

- java.lang.Object
- - org.silverpeas.looks.aurora.service.weather.WeatherCache

-     @Technical
      @Bean
      @Singleton
      public class WeatherCache
      extends Object

  Cache of weather forecast data coming from a weather service.
  Author:
    mmoquillon

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `WeatherCache()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `WeatherForecastData` | `get​(String cityId, Supplier<WeatherForecastData> supplier)` | Gets the weather forecast data from the cache or invokes the specified supplier if no such data are in the cache or if the data is expired.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### WeatherCache

          public WeatherCache()

  - ### Method Detail

    - #### get

          public final WeatherForecastData get​(String cityId,
                                               Supplier<WeatherForecastData> supplier)

      Gets the weather forecast data from the cache or invokes the specified supplier if no such data are in the cache or if the data is expired. If the supplier is invoked, the returned data is then automatically cached.
      Parameters:
        `cityId` - the unique identifier of a city.
        `supplier` - a supplier of `WeatherForecastData` instance.
      Returns:
        a `WeatherForecastData` instance.