protected static class InvocableMapHelper.RoutingMapTriggerEntry extends Object implements MapTrigger.Entry
Modifier and Type | Field and Description |
---|---|
protected InvocableMap.Entry |
m_entry
The underlying entry.
|
Modifier | Constructor and Description |
---|---|
protected |
RoutingMapTriggerEntry(BinaryEntry entry)
Construct a routing entry.
|
protected |
RoutingMapTriggerEntry(MapTrigger.Entry entry)
Construct a routing entry.
|
Modifier and Type | Method and Description |
---|---|
Object |
extract(ValueExtractor extractor)
Extract a value out of the Entry's key or value.
|
Object |
getKey()
Return the key corresponding to this entry.
|
Object |
getOriginalValue()
Determine the value that existed before the start of the mutating operation that is being evaluated by the trigger.
|
Object |
getValue()
Return an OriginalValue from the underlying entry.
|
boolean |
isOriginalPresent()
Determine whether or not the Entry existed before the start of the mutating operation that is being evaluated by the trigger.
|
boolean |
isPresent()
Determine if this Entry exists in the Map.
|
boolean |
isSynthetic()
Determine if this Entry has been synthetically mutated.
|
void |
remove(boolean fSynthetic)
Remove this Entry from the Map if it is present in the Map.
|
Object |
setValue(Object oValue)
Store the value corresponding to this entry.
|
void |
setValue(Object oValue, boolean fSynthetic)
Store the value corresponding to this entry.
|
void |
update(ValueUpdater updater, Object oValue)
Update the Entry's value.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
extractFromKey, extractFromValue
comparingByKey, comparingByKey, comparingByValue, comparingByValue, equals, hashCode
protected InvocableMap.Entry m_entry
protected RoutingMapTriggerEntry(MapTrigger.Entry entry)
entry
- the underlying MapTrigger.Entryprotected RoutingMapTriggerEntry(BinaryEntry entry)
entry
- the underlying BinaryEntrypublic Object getKey()
InvocableMap.Entry.isPresent()
, and to create the entry for the key, use InvocableMap.Entry.setValue(V)
.getKey
in interface InvocableMap.Entry
getKey
in interface Map.Entry
public Object getValue()
getValue
in interface InvocableMap.Entry
getValue
in interface Map.Entry
public Object extract(ValueExtractor extractor)
extract
in interface QueryMap.Entry
extractor
- a ValueExtractor to apply to the Entry's key or valuepublic Object getOriginalValue()
MapTrigger.Entry
getOriginalValue
in interface MapTrigger.Entry
UnsupportedOperationException
public Object setValue(Object oValue)
InvocableMap.Entry
setValue
in interface InvocableMap.Entry
setValue
in interface Map.Entry
oValue
- the new value for this EntryUnsupportedOperationException
public void setValue(Object oValue, boolean fSynthetic)
InvocableMap.Entry
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.
setValue
in interface InvocableMap.Entry
oValue
- the new value for this EntryfSynthetic
- pass true only if the insertion into or modification of the Map should be treated as a synthetic eventUnsupportedOperationException
public void update(ValueUpdater updater, Object oValue)
InvocableMap.Entry
V target = entry.getValue(); updater.update(target, value); entry.setValue(target, 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.
update
in interface InvocableMap.Entry
updater
- a ValueUpdater used to modify the Entry's valueoValue
- the new value for this EntryUnsupportedOperationException
public void remove(boolean fSynthetic)
InvocableMap.Entry
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()).
remove
in interface InvocableMap.Entry
fSynthetic
- pass true only if the removal from the Map should be treated as a synthetic eventUnsupportedOperationException
public boolean isPresent()
InvocableMap.Entry
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)
.isPresent
in interface InvocableMap.Entry
UnsupportedOperationException
public boolean isSynthetic()
InvocableMap.Entry
false
if either a non-synthetic update was made or the entry has not been modified.isSynthetic
in interface InvocableMap.Entry
UnsupportedOperationException
public boolean isOriginalPresent()
MapTrigger.Entry
isOriginalPresent
in interface MapTrigger.Entry
UnsupportedOperationException