Class MetadataTransientMortalCacheEntry

    • Constructor Detail

      • MetadataTransientMortalCacheEntry

        public MetadataTransientMortalCacheEntry​(Object key,
                                                 Object value,
                                                 Metadata metadata,
                                                 long now)
      • MetadataTransientMortalCacheEntry

        public MetadataTransientMortalCacheEntry​(Object key,
                                                 Object value,
                                                 Metadata metadata,
                                                 long lastUsed,
                                                 long created)
      • MetadataTransientMortalCacheEntry

        protected MetadataTransientMortalCacheEntry​(Object key,
                                                    Object value,
                                                    PrivateMetadata internalMetadata,
                                                    Metadata metadata,
                                                    long lastUsed,
                                                    long created)
    • Method Detail

      • getLifespan

        public long getLifespan()
        Specified by:
        getLifespan in interface CacheEntry
        Returns:
        retrieves the lifespan of this entry. -1 means an unlimited lifespan.
      • canExpire

        public final boolean canExpire()
        Specified by:
        canExpire in interface InternalCacheEntry
        Returns:
        true if the entry can expire, false otherwise
      • getCreated

        public long getCreated()
        Specified by:
        getCreated in interface CacheEntry
        Returns:
        timestamp when the entry was created
      • canExpireMaxIdle

        public boolean canExpireMaxIdle()
        Specified by:
        canExpireMaxIdle in interface InternalCacheEntry
        Returns:
        true if this entry can expire via max idle, false otherwise
      • getExpiryTime

        public final long getExpiryTime()
        Description copied from interface: InternalCacheEntry
        Only used with entries that have a lifespan, this determines when an entry is due to expire.
        Specified by:
        getExpiryTime in interface InternalCacheEntry
        Returns:
        timestamp when the entry is due to expire, or -1 if it doesn't have a lifespan
      • toInternalCacheValue

        public InternalCacheValue<?> toInternalCacheValue()
        Description copied from interface: InternalCacheEntry
        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.

        Specified by:
        toInternalCacheValue in interface InternalCacheEntry
        Returns:
        a new InternalCacheValue encapsulating this InternalCacheEntry's value and expiration information.
      • getLastUsed

        public long getLastUsed()
        Specified by:
        getLastUsed in interface CacheEntry
        Returns:
        timestamp when the entry was last used
      • getMaxIdle

        public long getMaxIdle()
        Specified by:
        getMaxIdle in interface CacheEntry
        Returns:
        the maximum allowed time for which this entry can be idle, after which it is considered expired.