Interface Expiry<K,​V>


  • public interface Expiry<K,​V>
    Calculates when cache entries expire. A single expiration time is retained so that the lifetime of an entry may be extended or reduced by subsequent evaluations.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      long expireAfterCreate​(K key, V value, long currentTime)
      Specifies that the entry should be automatically removed from the cache once the duration has elapsed after the entry's creation.
      long expireAfterRead​(K key, V value, long currentTime, @org.checkerframework.checker.index.qual.NonNegative long currentDuration)
      Specifies that the entry should be automatically removed from the cache once the duration has elapsed after its last read.
      long expireAfterUpdate​(K key, V value, long currentTime, @org.checkerframework.checker.index.qual.NonNegative long currentDuration)
      Specifies that the entry should be automatically removed from the cache once the duration has elapsed after the replacement of its value.
    • Method Detail

      • expireAfterCreate

        long expireAfterCreate​(K key,
                               V value,
                               long currentTime)
        Specifies that the entry should be automatically removed from the cache once the duration has elapsed after the entry's creation. To indicate no expiration an entry may be given an excessively long period, such as Long#MAX_VALUE.

        Note: The currentTime is supplied by the configured Ticker and by default does not relate to system or wall-clock time. When calculating the duration based on a time stamp, the current time should be obtained independently.

        Parameters:
        key - the key represented by this entry
        value - the value represented by this entry
        currentTime - the current time, in nanoseconds
        Returns:
        the length of time before the entry expires, in nanoseconds
      • expireAfterUpdate

        long expireAfterUpdate​(K key,
                               V value,
                               long currentTime,
                               @org.checkerframework.checker.index.qual.NonNegative long currentDuration)
        Specifies that the entry should be automatically removed from the cache once the duration has elapsed after the replacement of its value. To indicate no expiration an entry may be given an excessively long period, such as Long#MAX_VALUE. The currentDuration may be returned to not modify the expiration time.

        Note: The currentTime is supplied by the configured Ticker and by default does not relate to system or wall-clock time. When calculating the duration based on a time stamp, the current time should be obtained independently.

        Parameters:
        key - the key represented by this entry
        value - the value represented by this entry
        currentTime - the current time, in nanoseconds
        currentDuration - the current duration, in nanoseconds
        Returns:
        the length of time before the entry expires, in nanoseconds
      • expireAfterRead

        long expireAfterRead​(K key,
                             V value,
                             long currentTime,
                             @org.checkerframework.checker.index.qual.NonNegative long currentDuration)
        Specifies that the entry should be automatically removed from the cache once the duration has elapsed after its last read. To indicate no expiration an entry may be given an excessively long period, such as Long#MAX_VALUE. The currentDuration may be returned to not modify the expiration time.

        Note: The currentTime is supplied by the configured Ticker and by default does not relate to system or wall-clock time. When calculating the duration based on a time stamp, the current time should be obtained independently.

        Parameters:
        key - the key represented by this entry
        value - the value represented by this entry
        currentTime - the current time, in nanoseconds
        currentDuration - the current duration, in nanoseconds
        Returns:
        the length of time before the entry expires, in nanoseconds