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

  Modifier and Type
  Method
  Description
  `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.

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

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

- ## Constructor Details

  - ### WeatherCache

    public WeatherCache()

- ## Method Details

  - ### 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.