#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 |
||||
|
MemberHandle < Versionable > |
m_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 |