Skip navigation links

Oracle® Coherence Java API Reference
Release 12.1.2.0.3

E26043-02


com.tangosol.util
Class ConverterCollections.ConverterMapEvent.ConverterMapEventBinaryEntry

java.lang.Object
  extended by com.tangosol.util.ConverterCollections.ConverterMapEvent.ConverterMapEventEntry
      extended by com.tangosol.util.ConverterCollections.ConverterMapEvent.ConverterMapEventBinaryEntry

All Implemented Interfaces:
BinaryEntry, InvocableMap.Entry, QueryMap.Entry, java.util.Map.Entry
Enclosing class:
ConverterCollections.ConverterMapEvent

protected class ConverterCollections.ConverterMapEvent.ConverterMapEventBinaryEntry
extends ConverterCollections.ConverterMapEvent.ConverterMapEventEntry
implements BinaryEntry

ConverterMapEventBinaryEntry provides both the Map Entry and the BinaryEntry interfaces to the information encapsulated inside the ConverterMapEvent.


Field Summary

 

Fields inherited from class com.tangosol.util.ConverterCollections.ConverterMapEvent.ConverterMapEventEntry
m_fNewValue

 

Constructor Summary
ConverterCollections.ConverterMapEvent.ConverterMapEventBinaryEntry(boolean fNewValue)
          Constructor.

 

Method Summary
 void expire(long cMillis)
          Update the entry with the specified expiry delay.
 java.lang.Object extract(ValueExtractor extractor)
          Depending upon the type of the ValueExtractor route the call to the appropriate extract method.
 ObservableMap getBackingMap()
          Obtain a reference to the backing map that this Entry corresponds to.
 BackingMapContext getBackingMapContext()
          Obtain a reference to the backing map context for the cache that this Entry corresponds to.
 BackingMapManagerContext getContext()
          Return the context this entry operates within.
 Binary getOriginalBinaryValue()
          Return a raw original binary value for this entry.
 java.lang.Object getOriginalValue()
          Return an original value for this entry.
 Serializer getSerializer()
          Return a Serializer that is used to serialize/deserialize this entry.
 boolean isPresent()
          Determine if this Entry exists in the Map.
 boolean isReadOnly()
          Check whether this BinaryEntry allows data modification operations.
 void remove(boolean fSynthetic)
          Remove this Entry from the Map if it is present in the Map.
 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.
 void updateBinaryValue(Binary binValue, boolean fSynthetic)
          Update the binary value for this entry.

 

Methods inherited from class com.tangosol.util.ConverterCollections.ConverterMapEvent.ConverterMapEventEntry
getBinaryKey, getBinaryValue, getKey, getValue, setValue

 

Methods inherited from interface com.tangosol.util.BinaryEntry
getBinaryKey, getBinaryValue

 

Methods inherited from interface com.tangosol.util.InvocableMap.Entry
getKey, getValue, setValue

 

Methods inherited from interface java.util.Map.Entry
equals, hashCode

 

Constructor Detail

ConverterCollections.ConverterMapEvent.ConverterMapEventBinaryEntry

public ConverterCollections.ConverterMapEvent.ConverterMapEventBinaryEntry(boolean fNewValue)
Constructor.
Parameters:
fNewValue - specifies whether the value represented by this entry is the new or the old value

Method Detail

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
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()).

As of Coherence 12.1.2, if fSynthetic is true and the BackingMap associated with this entry is a ReadWriteBackingMap, this method will bypass the CacheStore or BinaryEntryStore.

Specified by:
remove in interface BinaryEntry
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.

As of Coherence 12.1.2, if fSynthetic is true and the BackingMap associated with this entry is a ReadWriteBackingMap, this method will bypass the CacheStore or BinaryEntryStore.

Specified by:
setValue in interface BinaryEntry
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.

getContext

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

Note: This method is a shortcut for the getBackingMapContext.getManagerContext() call.

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 - new binary value to be stored in this entry or null

updateBinaryValue

public void updateBinaryValue(Binary binValue,
                              boolean fSynthetic)
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);
 
This method will bypass any CacheStore or BinaryEntryStore implementations, iff fSynthetic is true and the BackingMap associated with this entry is a ReadWriteBackingMap.
Specified by:
updateBinaryValue in interface BinaryEntry
Parameters:
binValue - new binary value to be stored in this entry or null
fSynthetic - pass true only if the insertion into or modification of the Map should be treated as a synthetic event

getOriginalValue

public java.lang.Object getOriginalValue()
Return an original value for this entry.
Specified by:
getOriginalValue in interface BinaryEntry
Returns:
an original value for this entry

getOriginalBinaryValue

public Binary getOriginalBinaryValue()
Return a raw original binary value for this entry.
Specified by:
getOriginalBinaryValue in interface BinaryEntry
Returns:
a raw original binary value for this entry; null if the original value did not exist

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
Returns:
the backing map reference; null if the entry does not have any backing map association

getBackingMapContext

public BackingMapContext getBackingMapContext()
Obtain a reference to the backing map context for the cache that this Entry corresponds to.
Specified by:
getBackingMapContext in interface BinaryEntry
Returns:
the corresponding BackingMapContext; 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
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

isReadOnly

public boolean isReadOnly()
Check whether this BinaryEntry allows data modification operations.
Specified by:
isReadOnly in interface BinaryEntry
Returns:
true iff the entry is "read-only"

Skip navigation links

Oracle® Coherence Java API Reference
Release 12.1.2.0.3

E26043-02


Copyright © 2000, 2014, Oracle and/or its affiliates. All rights reserved.