Interface InternalCacheEntry<K,​V>

    • Method Detail

      • isExpired

        boolean isExpired​(long now)
        Parameters:
        now - the current time as defined by System.currentTimeMillis() or TimeService.wallClockTime()
        Returns:
        true if the entry has expired; false otherwise
        Since:
        5.1
      • canExpire

        boolean canExpire()
        Returns:
        true if the entry can expire, false otherwise
      • getExpiryTime

        long getExpiryTime()
        Only used with entries that have a lifespan, this determines when an entry is due to expire.
        Returns:
        timestamp when the entry is due to expire, or -1 if it doesn't have a lifespan
      • touch

        void touch​(long currentTimeMillis)
        Updates access timestamps on this instance to a specified time
        Parameters:
        currentTimeMillis - the current time as defined by System.currentTimeMillis() or TimeService.wallClockTime()
      • reincarnate

        void reincarnate​(long now)
        "Reincarnates" an entry. Essentially, resets the 'created' timestamp of the entry to the current time.
        Parameters:
        now - the current time as defined by System.currentTimeMillis() or TimeService.wallClockTime()
      • isL1Entry

        boolean isL1Entry()
        Returns:
        true if the entry is a L1 entry.
      • toInternalCacheValue

        InternalCacheValue<V> toInternalCacheValue()
        Creates a representation of this entry as an InternalCacheValue. The main purpose of this is to provide a representation that does not have a reference to the key. This is useful in situations where the key is already known or stored elsewhere, making serialization and deserialization more efficient.

        Note that this should not be used to optimize memory overhead, since the saving of an additional reference to a key (a single object reference) does not warrant the cost of constructing an InternalCacheValue. This only makes sense when marshalling is involved, since the cost of marshalling the key again can be sidestepped using an InternalCacheValue if the key is already known/marshalled.

        Returns:
        a new InternalCacheValue encapsulating this InternalCacheEntry's value and expiration information.