#include <coherence/util/transformer/ExtractorEventTransformer.hpp>
Inherits Object, PortableObject, and MapEventTransformer.
This transformation will generally result in the change of the values' data type.
Example: the following code will register a listener to receive events only if the value of the AccountBalance property changes. The transformed event's NewValue will be a List containing the LastTransactionTime and AccountBalance properties. The OldValue will always be null.
Filter::View vFilter = ValueChangeEventFilter::create("getAccountBalance"); ValueExtractor::View vExtractor = MultiExtractor::create(MultiExtractor::createExtractors( "getLastTransactionTime,getAccountBalance")); MapEventTransformer::Handle hTransformer = ExtractorEventTransformer::create(NULL, vExtractor);
cache->addMapListener(listener, MapEventTransformerFilter::create(vFilter, hTransformer), false);
Public Types | ||||
typedef spec::Handle | Handle | |||
ExtractorEventTransformer Handle definition. | ||||
typedef spec::View | View | |||
ExtractorEventTransformer View definition. | ||||
typedef spec::Holder | Holder | |||
ExtractorEventTransformer Holder definition. | ||||
Public Member Functions | ||||
virtual MapEvent::Handle | transform (MapEvent::Handle hEvent) const | |||
Transform the specified MapEvent. The values contained by the returned MapEvent object will be the ones given (sent) to the corresponding listener.
| ||||
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.
| ||||
virtual void | toStream (std::ostream &out) const | |||
Output a human-readable description of this Object to the given stream. coherence::lang::operator<<(std::ostream, Object::View) is defined and will call into the toStream method, to output Objects. If a managed String object is desired, the COH_TO_STRING macro can be used to build up a String from streamable contents.
Object::View vKey = ... Object::View vValue = ... std::cout << vKey << " = " << vValue << std::endl; String::Handle hs = COH_TO_STRING(vKey << " = " << vValue);
| ||||
virtual ValueExtractor::View | getOldValueExtractor () const | |||
Return a ValueExtractor used to transfrom the event's OldValue. | ||||
virtual ValueExtractor::View | getNewValueExtractor () const | |||
Return a ValueExtractor used to transfrom the event's NewValue. | ||||
Protected Member Functions | ||||
ExtractorEventTransformer () | ||||
Default constructor (necessary for the PortableObject interface). | ||||
ExtractorEventTransformer (ValueExtractor::View vExtractor) | ||||
Construct a ExtractorEventTransformer that transforms MapEvent values based on the specified extractor. | ||||
ExtractorEventTransformer (ValueExtractor::View vExtractorOld, ValueExtractor::View vExtractorNew) | ||||
Construct a ExtractorEventTransformer that transforms MapEvent values based on the specified extractors. |
ExtractorEventTransformer | ( | ValueExtractor::View | vExtractor | ) | [protected] |
Construct a ExtractorEventTransformer that transforms MapEvent values based on the specified extractor.
Note: The specified extractor will be applied to both old and new values.
vExtractor | ValueExtractor to extract MapEvent values |
ExtractorEventTransformer | ( | ValueExtractor::View | vExtractorOld, | |
ValueExtractor::View | vExtractorNew | |||
) | [protected] |
Construct a ExtractorEventTransformer that transforms MapEvent values based on the specified extractors.
Passing null indicates that the corresponding values should be skipped completely.
virtual ValueExtractor::View getOldValueExtractor | ( | ) | const [virtual] |
Return a ValueExtractor used to transfrom the event's OldValue.
virtual ValueExtractor::View getNewValueExtractor | ( | ) | const [virtual] |
Return a ValueExtractor used to transfrom the event's NewValue.