Interface CacheEntry<K,V>

All Superinterfaces:
Cloneable, Map.Entry<K,V>, MetadataAware
All Known Subinterfaces:
InternalCacheEntry<K,V>, MVCCEntry<K,V>
All Known Implementing Classes:
AbstractInternalCacheEntry, ClearCacheEntry, EntryWrapper, ForwardingCacheEntry, ImmortalCacheEntry, L1InternalCacheEntry, L1MetadataInternalCacheEntry, MetadataImmortalCacheEntry, MetadataMortalCacheEntry, MetadataTransientCacheEntry, MetadataTransientMortalCacheEntry, MortalCacheEntry, NullCacheEntry, ReadCommittedEntry, RepeatableReadEntry, TransientCacheEntry, TransientMortalCacheEntry, VersionedRepeatableReadEntry

public interface CacheEntry<K,V> extends Cloneable, Map.Entry<K,V>, MetadataAware
An entry that is stored in the data container
Since:
4.0
Author:
Manik Surtani, Galder ZamarreƱo
  • Method Details

    • isNull

      boolean isNull()
      Tests whether the entry represents a null value, typically used for repeatable read.
      Returns:
      true if this represents a null, false otherwise.
    • isChanged

      boolean isChanged()
      Returns:
      true if this entry has changed since being read from the container, false otherwise.
    • isCreated

      boolean isCreated()
      Returns:
      true if this entry has been newly created, false otherwise.
    • isRemoved

      boolean isRemoved()
      Returns:
      true if this entry has been removed since being read from the container, false otherwise.
    • isEvicted

      boolean isEvicted()
      Returns:
      true if this entry has been evicted since being read from the container, false otherwise.
    • getKey

      K getKey()
      Retrieves the key to this entry
      Specified by:
      getKey in interface Map.Entry<K,V>
      Returns:
      a key
    • getValue

      V getValue()
      Retrieves the value of this entry
      Specified by:
      getValue in interface Map.Entry<K,V>
      Returns:
      the value of the entry
    • getLifespan

      long getLifespan()
      Returns:
      retrieves the lifespan of this entry. -1 means an unlimited lifespan.
    • getMaxIdle

      long getMaxIdle()
      Returns:
      the maximum allowed time for which this entry can be idle, after which it is considered expired.
    • skipLookup

      boolean skipLookup()
      Returns:
      true if the value must not be fetch from an external source
    • getCreated

      default long getCreated()
      Returns:
      timestamp when the entry was created
    • getLastUsed

      default long getLastUsed()
      Returns:
      timestamp when the entry was last used
    • setValue

      V setValue(V value)
      Sets the value of the entry, returning the previous value
      Specified by:
      setValue in interface Map.Entry<K,V>
      Parameters:
      value - value to set
      Returns:
      previous value
    • commit

      void commit(DataContainer<K,V> container)
      Commits changes
      Parameters:
      container - data container to commit to
    • setChanged

      void setChanged(boolean changed)
    • setCreated

      void setCreated(boolean created)
    • setRemoved

      void setRemoved(boolean removed)
    • setEvicted

      void setEvicted(boolean evicted)
    • setSkipLookup

      void setSkipLookup(boolean skipLookup)
      Parameters:
      skipLookup -
    • clone

      CacheEntry<K,V> clone()
    • setCreated

      default void setCreated(long created)
    • setLastUsed

      default void setLastUsed(long lastUsed)
    • getInternalMetadata

      default PrivateMetadata getInternalMetadata()
    • setInternalMetadata

      default void setInternalMetadata(PrivateMetadata metadata)