|
CoherenceTM v3.3 Copyright© 2000-2007 by Oracle Corporation |
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.tangosol.util.Base
com.tangosol.util.processor.AbstractProcessor
com.tangosol.util.processor.ConditionalPutAll
public class ConditionalPutAll
ConditionalPutAll is an EntryProcessor that performs a
Entry.setValue
operation for multiple entries that satisfy the specified
condition.
invokeAll(keys, processor)
API. For example, the
replaceAll(map) method could be implemented as:
filter = PresentFilter.INSTANCE; cache.invokeAll(map.keySet(), new ConditionalPutAll(filter, map));and the putAllIfAbsent(map) could be done by inverting the filter:
filter = new NotFilter(PresentFilter.INSTANCE);Obviously, using more specific, fine-tuned filters may provide additional flexibility and efficiency allowing the multi-put operations to be performed conditionally on values of specific attributes (or even calculations) instead of a simple existence check.
Field Summary | |
---|---|
protected Filter |
m_filter
The underlying filter. |
protected Map |
m_map
Specifies the map of new values. |
Constructor Summary | |
---|---|
ConditionalPutAll()
Default constructor (necessary for the ExternalizableLite interface). |
|
ConditionalPutAll(Filter filter,
Map map)
Construct a ConditionalPutAll processor that updates an entry with a new value if and only if the filter applied to the entry evaluates to true. |
Method Summary | |
---|---|
boolean |
equals(Object o)
Compare the ConditionalPutAll with another object to determine equality. |
int |
hashCode()
Determine a hash value for the ConditionalPutAll object according to the general Object.hashCode() contract. |
Object |
process(InvocableMap.Entry entry)
Process a Map.Entry object. |
void |
readExternal(DataInput in)
Restore the contents of this object by loading the object's state from the passed DataInput object. |
void |
readExternal(PofReader in)
Restore the contents of a user type instance by reading its state using the specified PofReader object. |
String |
toString()
Return a human-readable description for this ConditionalPutAll. |
void |
writeExternal(DataOutput out)
Save the contents of this object by storing the object's state into the passed DataOutput object. |
void |
writeExternal(PofWriter out)
Save the contents of a POF user type instance by writing its state using the specified PofWriter object. |
Methods inherited from class com.tangosol.util.processor.AbstractProcessor |
---|
processAll |
Field Detail |
---|
protected Filter m_filter
protected Map m_map
Constructor Detail |
---|
public ConditionalPutAll()
public ConditionalPutAll(Filter filter, Map map)
filter
- the filter to evaluate all supplied entriesmap
- a map of values to update entries withMethod Detail |
---|
public Object process(InvocableMap.Entry entry)
process
in interface InvocableMap.EntryProcessor
entry
- the Entry to process
public boolean equals(Object o)
public int hashCode()
Object.hashCode()
contract.
public String toString()
public void readExternal(DataInput in) throws IOException
readExternal
in interface ExternalizableLite
in
- the DataInput stream to read data from in order to restore
the state of this object
IOException
- if an I/O exception occurs
NotActiveException
- if the object is not in its initial
state, and therefore cannot be deserialized intopublic void writeExternal(DataOutput out) throws IOException
writeExternal
in interface ExternalizableLite
out
- the DataOutput stream to write the state of this object to
IOException
- if an I/O exception occurspublic void readExternal(PofReader in) throws IOException
readExternal
in interface PortableObject
in
- the PofReader from which to read the object's state
IOException
- if an I/O error occurspublic void writeExternal(PofWriter out) throws IOException
writeExternal
in interface PortableObject
out
- the PofWriter to which to write the object's state
IOException
- if an I/O error occurs
|
CoherenceTM v3.3 Copyright© 2000-2007 by Oracle Corporation |
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |