Class InvocableMapHelper.SimpleEntry<K,V>

java.lang.Object
com.tangosol.util.Base
com.tangosol.util.SimpleMapEntry<K,V>
com.tangosol.util.InvocableMapHelper.SimpleEntry<K,V>
All Implemented Interfaces:
InvocableMap.Entry<K,V>, MapTrigger.Entry<K,V>, QueryMap.Entry<K,V>, Serializable, Cloneable, Map.Entry<K,V>
Enclosing class:
InvocableMapHelper

public static class InvocableMapHelper.SimpleEntry<K,V> extends SimpleMapEntry<K,V>
Simple implementation of the InvocableMap.Entry interface. This assumes that the underlying Map content does not change while a reference to the SimpleEntry is alive and may cache the entry's value to avoid an extra map lookup.
See Also:
  • Field Details

    • m_map

      protected Map<K,V> m_map
      The map.
  • Constructor Details

    • SimpleEntry

      public SimpleEntry(Map<K,V> map, K oKey, boolean fReadOnly)
      Construct a SimpleEntry for a given map and a key.
      Parameters:
      map - the parent Map for this entry
      oKey - the entry's key
      fReadOnly - if true, the entry will be marked as read-only, preventing the setValue() and remove() methods from modifying the underlying map's content
    • SimpleEntry

      public SimpleEntry(Map<K,V> map, K oKey, V oValue, boolean fReadOnly)
      Construct a SimpleEntry for a given key and value.
      Parameters:
      map - the parent Map for this entry
      oKey - the entry's key
      oValue - the entry's value
      fReadOnly - if true, the entry will be marked as read-only, preventing the setValue() and remove() methods from modifying the underlying map's content
    • SimpleEntry

      public SimpleEntry(K oKey, V oValue)
      Construct a SimpleEntry for a given key and value. The entry will be marked as read-only.
      Parameters:
      oKey - the entry's key
      oValue - the entry's value
  • Method Details

    • getValue

      public V getValue()
      Returns the value corresponding to this entry. If the mapping has been removed from the backing map (by the iterator's remove operation), the results of this call are undefined.
      Specified by:
      getValue in interface InvocableMap.Entry<K,V>
      Specified by:
      getValue in interface Map.Entry<K,V>
      Overrides:
      getValue in class SimpleMapEntry<K,V>
      Returns:
      the value corresponding to this entry.
    • setValue

      public V setValue(V oValue)
      Replaces the value corresponding to this entry with the specified value (optional operation). (Writes through to the map.) The behavior of this call is undefined if the mapping has already been removed from the map (by the iterator's remove operation).
      Specified by:
      setValue in interface InvocableMap.Entry<K,V>
      Specified by:
      setValue in interface Map.Entry<K,V>
      Overrides:
      setValue in class SimpleMapEntry<K,V>
      Parameters:
      oValue - new value to be stored in this entry
      Returns:
      old value corresponding to the entry
    • setValue

      public void setValue(V oValue, boolean fSynthetic)
      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).

      Unlike the other form of setValue, this form does not return the previous value, and as a result may be significantly less expensive (in terms of cost of execution) for certain Map implementations.

      Specified by:
      setValue in interface InvocableMap.Entry<K,V>
      Overrides:
      setValue in class SimpleMapEntry<K,V>
      Parameters:
      oValue - the new value for this Entry
      fSynthetic - pass true only if the insertion into or modification of the Map should be treated as a synthetic event
    • isPresent

      public boolean isPresent()
      Determine if this Entry exists in the Map. If the Entry is not present, it can be created by calling InvocableMap.Entry.setValue(Object) or InvocableMap.Entry.setValue(Object, boolean). If the Entry is present, it can be destroyed by calling InvocableMap.Entry.remove(boolean).
      Specified by:
      isPresent in interface InvocableMap.Entry<K,V>
      Overrides:
      isPresent in class SimpleMapEntry<K,V>
      Returns:
      true iff this Entry is existent in the containing Map
    • remove

      public void remove(boolean fSynthetic)
      Remove this Entry from the Map if it is present in the Map.

      This method supports both the operation corresponding to Map.remove(java.lang.Object) as well as synthetic operations such as eviction. If the containing Map does not differentiate between the two, then this method will always be identical to InvocableMap.this.remove(getKey()).

      Specified by:
      remove in interface InvocableMap.Entry<K,V>
      Overrides:
      remove in class SimpleMapEntry<K,V>
      Parameters:
      fSynthetic - pass true only if the removal from the Map should be treated as a synthetic event
    • equals

      public boolean equals(Object o)
      Compare this SimpleEntry with another object for equality.
      Specified by:
      equals in interface Map.Entry<K,V>
      Overrides:
      equals in class SimpleMapEntry<K,V>
      Parameters:
      o - an object reference or null
      Returns:
      true iff the passed object reference is a SimpleEntry object with the same key
    • hashCode

      public int hashCode()
      Return a hash code value for the SimpleEntry object.
      Specified by:
      hashCode in interface Map.Entry<K,V>
      Overrides:
      hashCode in class SimpleMapEntry<K,V>
      Returns:
      the hash code value for this map entry.
    • toString

      public String toString()
      Provide a human-readable representation of the SimpleEntry object.
      Overrides:
      toString in class SimpleMapEntry<K,V>
      Returns:
      a String representation of this SimpleEntry object
    • checkMutable

      protected void checkMutable()
      Verify that this SimpleEntry is mutable.