#include <coherence/util/MapTrigger.hpp>
Inherits Object.
Inherited by FilterTrigger [virtual]
.
The trigger operates on an Entry object that represents a pending mutation that is about to be committed to the underlying map. A MapTrigger could be registered with any ObservableMap using the MapTriggerListener class:
NamedCache::Handle hCache = CacheFactory->getCache(vsCacheName); MapTrigger::View vTrigger = MyCustomTrigger::create(); hCache->addMapListener(MapTriggerListener::create(vTrigger));Note: In a clustered environment, MapTrigger registration process requires triggers to be pofable and providing a non-default implementation of the hashCode() and equals() methods. Failure to do so may result in duplicate registration and a redundant entry processing by equivalent, but "not equal" MapTrigger objects.
Public Types | |
typedef spec::Handle | Handle |
MapTrigger Handle definition. | |
typedef spec::View | View |
MapTrigger View definition. | |
typedef spec::Holder | Holder |
MapTrigger Holder definition. | |
Public Member Functions | |
virtual void | process (MapTrigger::Entry::Handle vEntry)=0 |
This method is called before the result of a mutating operation represented by the specified Entry object is committed into the underlying map. | |
Classes | |
class | Entry |
A MapTrigger Entry represents a pending change to an Entry that is about to committed to the underlying Map. More... |
virtual void process | ( | MapTrigger::Entry::Handle | vEntry | ) | [pure virtual] |
This method is called before the result of a mutating operation represented by the specified Entry object is committed into the underlying map.
An implementation of this method can evaluate the change by analyzing the original and the new value, and can perform any of the following:
vEntry | a Entry object that represents the pending change to be committed to the map, as well as the original state of the Entry |
Implemented in FilterTrigger.