#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 |