#include <coherence/util/processor/VersionedPutAll.hpp>
Inherits AbstractProcessor, and PortableObject.
In case of the match, the VersionedPutAll will increment the version indicator before each value is updated.
Public Types | ||||
typedef spec::Handle | Handle | |||
VersionedPutAll Handle definition. | ||||
typedef spec::View | View | |||
VersionedPutAll View definition. | ||||
typedef spec::Holder | Holder | |||
VersionedPutAll Holder definition. | ||||
Public Member Functions | ||||
virtual Object::Holder | process (InvocableMap::Entry::Handle hEntry) const | |||
Process a Map::Entry object.
| ||||
virtual Map::View | processAll (Set::View vsetEntries) const | |||
Process a Set of InvocableMap::Entry objects. This method is semantically equivalent to: Map::Handle hMapResults = HashMap::create(); for (Iterator::Handle hIter = vSetEntries->iterator(); iter->hasNext; ) { InvocableMap::Entry::Handle hEntry = cast<InvocableMap::Entry::Handle>(hIter->next()); hMapResults->put(hEntry->getKey(), process(hEntry)); } return hMapResults;
| ||||
virtual void | readExternal (PofReader::Handle hIn) | |||
virtual void | writeExternal (PofWriter::Handle hOut) const | |||
virtual bool | equals (Object::View v) const | |||
virtual size32_t | hashCode () const | |||
Return a hash code value for the Object. This method is supported for the benefit of hash-based containers.
The general contract of
The default implementation is identity based.
| ||||
Protected Member Functions | ||||
VersionedPutAll () | ||||
Construct a VersionedPutAll. | ||||
VersionedPutAll (Map::View vMap, bool fAllowInsert=false, bool fReturn=false) | ||||
Construct a VersionedPutAll processor that updates an entry with a new value if and only if the version of the new value matches to the version of the current entry's value (which must exist). | ||||
virtual Object::Holder | processEntry (InvocableMap::Entry::Handle hEntry, Map::View vMap, bool fInsert, bool fReturn) const | |||
Process the given entry. | ||||
Protected Attributes | ||||
MemberView< Map > | m_vMap | |||
Specifies the map of new values. | ||||
bool | m_fInsert | |||
Specifies whether or not an insert is allowed. | ||||
bool | m_fReturn | |||
Specifies whether or not a return value is required. |
VersionedPutAll | ( | Map::View | vMap, | |
bool | fAllowInsert = false , |
|||
bool | fReturn = false | |||
) | [protected] |
Construct a VersionedPutAll processor that updates an entry with a new value if and only if the version of the new value matches to the version of the current entry's value (which must exist).
This processor optionally returns a map of entries that have not been updated (the versions did not match).
vMap | a map of values to update entries with | |
fAllowInsert | specifies whether or not an insert should be allowed (no currently existing value) | |
fReturn | specifies whether or not the processor should return the entries that have not been updated |