Class ReadWriteBackingMap.Entry

All Implemented Interfaces:
BinaryEntry, InvocableMap.Entry, MapTrigger.Entry, QueryMap.Entry, Map.Entry
Enclosing class:
ReadWriteBackingMap

public class ReadWriteBackingMap.Entry extends BackingMapBinaryEntry
A queue entry that is scheduled to come out of the front of the queue no earlier than some specific point in time.
Since:
Coherence 3.6
  • Field Details

    • f_spanParent

      protected final com.tangosol.internal.tracing.Span f_spanParent
      The parent tracing span.
  • Constructor Details

    • Entry

      public Entry(Binary binKey, Binary binValue, Binary binValueOrig, long cExpiry, BackingMapManagerContext ctx)
      Construct an Entry with just a key.
      Parameters:
      binKey - the Binary key
      binValue - the Binary value; could be null representing a non-existing or removed entry
      binValueOrig - an original Binary value; could be null representing a non-existing entry
      cExpiry - the expiry delay
      ctx - the BackingMapManagerContext
  • Method Details

    • setValue

      public Object setValue(Object oValue)
      Store the value corresponding to this entry. If the entry does not exist, then the entry will be created by invoking this method, even with a null value (assuming the Map supports null values).
      Specified by:
      setValue in interface InvocableMap.Entry
      Specified by:
      setValue in interface Map.Entry
      Overrides:
      setValue in class BackingMapBinaryEntry
      Parameters:
      oValue - the new value for this Entry
      Returns:
      the previous value of this Entry, or null if the Entry did not exist
    • updateBinaryValue

      public void updateBinaryValue(Binary binValue)
      Update the binary value for this entry.

      Passing a non-null binary is functionally equivalent to:

         setValue(getContext().getValueFromInternalConverter().convert(binValue));
       
      Passing null value is functionally equivalent to removing the entry.
         remove(false);
       
      Specified by:
      updateBinaryValue in interface BinaryEntry
      Overrides:
      updateBinaryValue in class BackingMapBinaryEntry
      Parameters:
      binValue - new binary value to be stored in this entry or null
    • getBackingMap

      public ObservableMap getBackingMap()
      Obtain a reference to the backing map that this Entry corresponds to. The returned Map should be used in a read-only manner.

      Note: This method is a shortcut for the getBackingMapContext().getBackingMap() call. As of Coherence 3.7, the returned type has been narrowed to ObservableMap.

      Specified by:
      getBackingMap in interface BinaryEntry
      Overrides:
      getBackingMap in class BackingMapBinaryEntry
      Returns:
      the backing map reference; null if the entry does not have any backing map association
    • expire

      public void expire(long cMillis)
      Update the entry with the specified expiry delay.

      Note: this method only has an effect only if the associated backing map implements the CacheMap interface

      Specified by:
      expire in interface BinaryEntry
      Overrides:
      expire in class BackingMapBinaryEntry
      Parameters:
      cMillis - the number of milliseconds until the entry will expire; pass CacheMap.EXPIRY_DEFAULT to use the default expiry setting; pass CacheMap.EXPIRY_NEVER to indicate that the entry should never expire
    • getRipeMillis

      public long getRipeMillis()
      Determine when the entry becomes ripe to be persisted.
      Returns:
      the time at which the entry becomes ripe
    • setRipeMillis

      protected void setRipeMillis(long ldtMillis)
      Specify the times when the entry has to be persisted. This property is immutable once set.
      Parameters:
      ldtMillis - the time when the entry becomes ripe
    • isChanged

      public boolean isChanged()
      Specifies whether or not the underlying value has been changed during BinaryEntryStore operations.
      Returns:
      true iff during the BinaryEntryStore operations any of the value mutating methods were called (including remove)
    • getChangedBinaryValue

      public Binary getChangedBinaryValue()
      Return the Binary value changed by the BinaryEntryStore.
      Returns:
      the changed Binary value, or null if the entry was removed
    • startTracking

      protected void startTracking()
      Start tracking changes by the BinaryEntryStore.
    • stopTracking

      protected void stopTracking()
      Stop tracking changes by the BinaryEntryStore.
    • getParentSpan

      protected com.tangosol.internal.tracing.Span getParentSpan()
      Return the associated parent Span if any.
      Returns:
      the parent span or null