#include <coherence/util/extractor/ReflectionExtractor.hpp>
Inherits AbstractExtractor.
Inherited by TypedExtractor, and TypedExtractor< RH::ValueType::BoxedType, C, M, coherence::lang::BoxHandle< RH::ValueType >, OH >.
ReflectionExtractor cannot be executed against local C++ caches, only against remote caches. Locally executable C++ extractors may either be custom built, or auto-generated via TypedExtractor<>.
Public Types |
|||||||||||||
| typedef spec::Handle | Handle | ||||||||||||
| ReflectionExtractor Handle definition. |
|||||||||||||
| typedef spec::View | View | ||||||||||||
| ReflectionExtractor View definition. |
|||||||||||||
| typedef spec::Holder | Holder | ||||||||||||
| ReflectionExtractor Holder definition. |
|||||||||||||
Public Member Functions |
|||||||||||||
| virtual Object::Holder | extract (Object::Holder ohTarget) const | ||||||||||||
| Extract the value from the passed object.
The returned value may be NULL.
|
|||||||||||||
| 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 String::View | getMethodName () const | ||||||||||||
| Determine the name of the method that this extractor is configured to invoke. |
|||||||||||||
| virtual ObjectArray::View | getParameters () const | ||||||||||||
| Return the array of arguments used to invoke the method. |
|||||||||||||
Protected Member Functions |
|||||||||||||
| ReflectionExtractor () | |||||||||||||
| Construct an empty ReflectionExtractor (necessary for the PortableObject interface). |
|||||||||||||
| ReflectionExtractor (String::View vsMethod, ObjectArray::View vaParam=NULL, int32_t nTarget=VALUE) | |||||||||||||
| Construct a ReflectionExtractor based on a method name, optional parameters and the entry extraction target. |
|||||||||||||
| ReflectionExtractor (const ReflectionExtractor &that) | |||||||||||||
| Copy constructor. |
|||||||||||||
Protected Attributes |
|||||||||||||
| MemberView< String > | m_vsMethod | ||||||||||||
| The name of the method to invoke. |
|||||||||||||
| MemberView< ObjectArray > | m_vaParam | ||||||||||||
| The parameter array. |
|||||||||||||
| ReflectionExtractor | ( | String::View | vsMethod, | |
| ObjectArray::View | vaParam = NULL, |
|||
| int32_t | nTarget = VALUE |
|||
| ) | [protected] |
Construct a ReflectionExtractor based on a method name, optional parameters and the entry extraction target.
| vsMethod | the name of the method to invoke via reflection | |
| vaParam | the array of arguments to be used in the method invocation; may be NULL | |
| nTarget | one of the VALUE or KEY values |
| virtual Object::Holder extract | ( | Object::Holder | ohTarget | ) | const [virtual] |
Extract the value from the passed object.
The returned value may be NULL.
| ohTarget | an Object to retrieve the value from |
| ClassCastException | if this ValueExtractor is incompatible with the passed object to extract a value from and the implementation requires the passed object to be of a certain type | |
| Exception | if this ValueExtractor encounters an exception in the course of extracting the value | |
| IllegalArgumentException | if this ValueExtractor cannot handle the passed object for any other reason; an implementor should include a descriptive message |
| UnsupportedOperationException | always |
Reimplemented from AbstractExtractor.
Reimplemented in TypedExtractor, and TypedExtractor< RH::ValueType::BoxedType, C, M, coherence::lang::BoxHandle< RH::ValueType >, OH >.
| virtual String::View getMethodName | ( | ) | const [virtual] |
Determine the name of the method that this extractor is configured to invoke.
| virtual ObjectArray::View getParameters | ( | ) | const [virtual] |
Return the array of arguments used to invoke the method.