#include <coherence/util/processor/VersionedPut.hpp>
Inherits AbstractProcessor, and PortableObject.
In case of the match, the VersionedPut will increment the version indicator before the value is updated.
Public Types | ||||
typedef spec::Handle | Handle | |||
VersionedPut Handle definition. | ||||
typedef spec::View | View | |||
VersionedPut View definition. | ||||
typedef spec::Holder | Holder | |||
VersionedPut 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 | ||||
VersionedPut () | ||||
Construct a VersionedPut. | ||||
VersionedPut (Versionable::Handle hValue, bool fAllowInsert=false, bool fReturn=false) | ||||
Construct a VersionedPut 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. | ||||
virtual Object::Holder | processEntry (InvocableMap::Entry::Handle hEntry, Versionable::Holder ohValueNew, bool fInsert, bool fReturn) const | |||
Process the given entry. | ||||
Protected Attributes | ||||
FinalHandle < Versionable > | f_hValue | |||
Specifies the new value to update an entry with. | ||||
bool | m_fInsert | |||
Specifies whether or not an insert is allowed. | ||||
bool | m_fReturn | |||
Specifies whether or not a return value is required. |
VersionedPut | ( | Versionable::Handle | hValue, | |
bool | fAllowInsert = false , |
|||
bool | fReturn = false | |||
) | [protected] |
Construct a VersionedPut 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.
This processor optionally returns the current value as a result of the invocation if it has not been updated (the versions did not match).
hValue | a value to update an entry 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 current value in case it has not been updated |