Oracle® Coherence Java API Reference
v3.5.3

E15583-01

com.tangosol.util
Class ConverterCollections.ConverterMapEvent.ConverterMapEventEntry

java.lang.Object
  extended by com.tangosol.util.ConverterCollections.ConverterMapEvent.ConverterMapEventEntry
All Implemented Interfaces:
BinaryEntry, InvocableMap.Entry, QueryMap.Entry, java.util.Map.Entry
Enclosing class:
ConverterCollections.ConverterMapEvent

protected class ConverterCollections.ConverterMapEvent.ConverterMapEventEntry
extends java.lang.Object
implements BinaryEntry

ConverterMapEventEntry provides both the Map Entry and the BinaryEntry interface to the information encapsulated inside the ConvertMapEvent.


Field Summary
protected  boolean m_fNewValue
          Determines whether this entry represents the old or new value.
 
Constructor Summary
ConverterCollections.ConverterMapEvent.ConverterMapEventEntry(boolean fNewValue)
          Constructor.
 
Method Summary
 java.lang.Object extract(ValueExtractor extractor)
          Depending upon the type of the ValueExtractor route the call to the appropriate extract method.
 Binary getBinaryKey()
          Return a raw binary key for this entry.
 Binary getBinaryValue()
          Return a raw binary value for this entry.
 BackingMapManagerContext getContext()
          Return the context this entry operates within.
 java.lang.Object getKey()
          Return the key corresponding to this entry.
 Serializer getSerializer()
          Return a Serializer that is used to serialize/deserialize this entry.
 java.lang.Object getValue()
          Return the value corresponding to this entry.
 boolean isPresent()
          Determine if this Entry exists in the Map.
 void remove(boolean fSynthetic)
          Remove this Entry from the Map if it is present in the Map.
 java.lang.Object setValue(java.lang.Object oValue)
          Store the value corresponding to this entry.
 void setValue(java.lang.Object oValue, boolean fSynthetic)
          Store the value corresponding to this entry.
 void update(ValueUpdater updater, java.lang.Object oValue)
          Update the Entry's value.
 void updateBinaryValue(Binary binValue)
          Update the binary value for this entry.
 
Methods inherited from interface java.util.Map.Entry
equals, hashCode
 

Field Detail

m_fNewValue

protected boolean m_fNewValue
Determines whether this entry represents the old or new value.

Constructor Detail

ConverterCollections.ConverterMapEvent.ConverterMapEventEntry

public ConverterCollections.ConverterMapEvent.ConverterMapEventEntry(boolean fNewValue)
Constructor.

Parameters:
fNewValue - specifies whether the value represented by this entry is the new or the old value
Method Detail

getKey

public java.lang.Object getKey()
Return the key corresponding to this entry. The resultant key does not necessarily exist within the containing Map, which is to say that InvocableMap.this.containsKey(getKey()) could return false. To test for the presence of this key within the Map, use InvocableMap.Entry.isPresent(), and to create the entry for the key, use InvocableMap.Entry.setValue(java.lang.Object).

Specified by:
getKey in interface InvocableMap.Entry
Specified by:
getKey in interface java.util.Map.Entry
Returns:
the key corresponding to this entry; may be null if the underlying Map supports null keys

getValue

public java.lang.Object getValue()
Return the value corresponding to this entry. If the entry does not exist, then the value will be null. To differentiate between a null value and a non-existent entry, use InvocableMap.Entry.isPresent().

Note: any modifications to the value retrieved using this method are not guaranteed to persist unless followed by a InvocableMap.Entry.setValue(java.lang.Object) or InvocableMap.Entry.update(com.tangosol.util.ValueUpdater, java.lang.Object) call.

Specified by:
getValue in interface InvocableMap.Entry
Specified by:
getValue in interface java.util.Map.Entry
Returns:
the value corresponding to this entry; may be null if the value is null or if the Entry does not exist in the Map

setValue

public java.lang.Object setValue(java.lang.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 java.util.Map.Entry
Parameters:
oValue - the new value for this Entry
Returns:
the previous value of this Entry, or null if the Entry did not exist

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(java.lang.Object) or InvocableMap.Entry.setValue(java.lang.Object). If the Entry is present, it can be destroyed by calling InvocableMap.Entry.remove(boolean).

Specified by:
isPresent in interface InvocableMap.Entry
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
Parameters:
fSynthetic - pass true only if the removal from the Map should be treated as a synthetic event

setValue

public void setValue(java.lang.Object 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
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

update

public void update(ValueUpdater updater,
                   java.lang.Object oValue)
Update the Entry's value. Calling this method is semantically equivalent to:
   Object oTarget = entry.getValue();
   updater.update(oTarget, oValue);
   entry.setValue(oTarget, false);
 
The benefit of using this method is that it may allow the Entry implementation to significantly optimize the operation, such as for purposes of delta updates and backup maintenance.

Specified by:
update in interface InvocableMap.Entry
Parameters:
updater - a ValueUpdater used to modify the Entry's value
oValue - the new value for this Entry

extract

public java.lang.Object extract(ValueExtractor extractor)
Depending upon the type of the ValueExtractor route the call to the appropriate extract method.

Specified by:
extract in interface QueryMap.Entry
Parameters:
extractor - the ValueExtractor to pass this Entry or value.
Returns:
the extracted value.

getBinaryKey

public Binary getBinaryKey()
Return a raw binary key for this entry.

Specified by:
getBinaryKey in interface BinaryEntry
Returns:
a raw binary key for this entry

getBinaryValue

public Binary getBinaryValue()
Return a raw binary value for this entry.

Specified by:
getBinaryValue in interface BinaryEntry
Returns:
a raw binary value for this entry

getContext

public BackingMapManagerContext getContext()
Return the context this entry operates within.

Specified by:
getContext in interface BinaryEntry
Returns:
the BackingMapManagerContext for this entry

getSerializer

public Serializer getSerializer()
Return a Serializer that is used to serialize/deserialize this entry.

Specified by:
getSerializer in interface BinaryEntry
Returns:
a Serializer that is used to serialize/deserialize this entry

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
Parameters:
binValue - a raw binary value to for this entry or null

Oracle® Coherence Java API Reference
v3.5.3

E15583-01

Copyright © 2000, 2010, Oracle. All rights reserved.