Class SingleObjectCache<T>


  • public abstract class SingleObjectCache<T>
    extends java.lang.Object
    A very simple single object cache that allows non-blocking refresh calls triggered by expiry time.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected SingleObjectCache​(TimeValue refreshInterval, T initialValue)  
    • Method Summary

      Modifier and Type Method Description
      protected T getNoRefresh()
      Return the potentially stale cached entry.
      T getOrRefresh()
      Returns the currently cached object and potentially refreshes the cache before returning.
      protected boolean needsRefresh()
      Returns true iff the cache needs to be refreshed.
      protected abstract T refresh()
      Returns a new instance to cache
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • lastRefreshTimestamp

        protected long lastRefreshTimestamp
    • Constructor Detail

      • SingleObjectCache

        protected SingleObjectCache​(TimeValue refreshInterval,
                                    T initialValue)
    • Method Detail

      • getOrRefresh

        public T getOrRefresh()
        Returns the currently cached object and potentially refreshes the cache before returning.
      • getNoRefresh

        protected final T getNoRefresh()
        Return the potentially stale cached entry.
      • refresh

        protected abstract T refresh()
        Returns a new instance to cache
      • needsRefresh

        protected boolean needsRefresh()
        Returns true iff the cache needs to be refreshed.