Class MemoizingValueStatistic<T extends java.io.Serializable>

  • All Implemented Interfaces:
    ValueStatistic<T>

    public class MemoizingValueStatistic<T extends java.io.Serializable>
    extends java.lang.Object
    implements ValueStatistic<T>
    • Field Detail

      • delayNs

        private final long delayNs
      • memoized

        private final java.util.concurrent.atomic.AtomicReference<T extends java.io.Serializable> memoized
      • expiration

        private final java.util.concurrent.atomic.AtomicLong expiration
      • delegate

        private final ValueStatistic<T extends java.io.Serializable> delegate
    • Constructor Detail

      • MemoizingValueStatistic

        public MemoizingValueStatistic​(long delay,
                                       java.util.concurrent.TimeUnit unit,
                                       ValueStatistic<T> delegate)
    • Method Detail

      • value

        public T value()
        Specified by:
        value in interface ValueStatistic<T extends java.io.Serializable>
        Returns:
        The current statistic value