Oracle Coherence for C++ API


BoxExtractor Class Template Reference

#include <coherence/util/extractor/BoxExtractor.hpp>

Inherits TypedExtractor< RH::ValueType::BoxedType, C, M, coherence::lang::BoxHandle< RH::ValueType >, OH >.

List of all members.

Detailed Description

template<class RH, class C, typename RH::ValueType::BoxedType(C::*)() const M, class OH = typename C::Holder>
class coherence::util::extractor::BoxExtractor< RH, C, M, OH >

Template based auto-boxing ValueExtractor implementation.

This extractor functions on const methods which return unmanaged types for which there is a corresponding the is a managed type which can "box" them via a BoxHandle.

For ease of use the COH_BOX_EXTRACTOR macro can be used to easily construct an instance of this class. For example the following constructs an extractor for calling the "int32_t Address::getZip() const" method.

 ValueExtractor::View vExt = COH_BOX_EXTRACTOR(Integer32::View, Address, getZip);

In the case that the supplied class does not extend from Object and instead relies on the Managed<> wrapper, the COH_MANAGED_BOX_EXTRACTOR is to be used.

mf 2009.03.20
See also:

Public Types

typedef spec::Handle Handle
 BoxExtractor<RH, C, M, OH> Handle definition.
typedef spec::View View
 BoxExtractor<RH, C, M, OH> View definition.
typedef spec::Holder Holder
 BoxExtractor<RH, C, M, OH> Holder definition.

Protected Member Functions

 BoxExtractor ()
 Construct a BoxExtractor.
 BoxExtractor (String::View vsMethod)
 Construct a BoxExtractor based on a method name and optional parameters.

Constructor & Destructor Documentation

BoxExtractor ( String::View  vsMethod  )  [inline, protected]

Construct a BoxExtractor based on a method name and optional parameters.

The method name is only used for the purposes of serializing the extractor for execution on remote Java members.

vsMethod the name of the method to invoke via reflection

The documentation for this class was generated from the following file:
Copyright © 2000, 2011, Oracle and/or its affiliates. All rights reserved.