Since C++ enums cannot be directly passed as a parameter to PdxWriter's writeObject and PdxReader's readObject api wrap C++ enum in to a immutable wrapper CacheableEnum class type by specifying enum class name, enum value name and its ordinal.
More...
Inherits apache::geode::client::CacheableKey.
Since C++ enums cannot be directly passed as a parameter to PdxWriter's writeObject and PdxReader's readObject api wrap C++ enum in to a immutable wrapper CacheableEnum class type by specifying enum class name, enum value name and its ordinal.
C++ enum allows explicit setting of ordinal number, but it is up to the user to map java enumName with that of C++ enumName. Currently this wrapper only works as part of PdxSerializable member object and cannot be directly used in Region operations.
- See also
- PdxWriter::writeObject
-
PdxReader::readObject
apache::geode::client::CacheableEnum::~CacheableEnum |
( |
| ) |
|
virtual int32_t apache::geode::client::CacheableEnum::classId |
( |
| ) |
const |
|
inlinevirtual |
Return the classId of the instance being serialized.
This is used by deserialization to determine what instance type to create and deserialize into.
Implements apache::geode::client::Serializable.
template<class PRIM >
static CacheableKeyPtr apache::geode::client::CacheableKey::create |
( |
const PRIM |
value | ) |
|
|
inlinestaticinherited |
Factory method that creates the key type that matches the type of value.
For customer defined derivations of CacheableKey, the method apache::geode::client::createKey may be overloaded. For pointer types (e.g. char*) the method apache::geode::client::createKeyArr may be overloaded.
static CacheableEnumPtr apache::geode::client::CacheableEnum::create |
( |
const char * |
enumClassName, |
|
|
const char * |
enumName, |
|
|
int32_t |
ordinal |
|
) |
| |
|
inlinestatic |
Factory method for creating an instance of CacheableEnum.
- Parameters
-
className | the name of the enum class that maps to the java enum type. |
enumName | the name of the enum constant that maps to the java enum type. |
ordinal | the ordinal value of the enum constant that maps to the java enum type. |
- Returns
- a CacheableEnum representing C++ enum.
static Serializable* apache::geode::client::CacheableEnum::createDeserializable |
( |
| ) |
|
|
inlinestatic |
creation function for enum.
virtual int8_t apache::geode::client::Serializable::DSFID |
( |
| ) |
const |
|
virtualinherited |
const char* apache::geode::client::CacheableEnum::getEnumClassName |
( |
| ) |
const |
|
inline |
const char* apache::geode::client::CacheableEnum::getEnumName |
( |
| ) |
const |
|
inline |
int32_t apache::geode::client::CacheableEnum::getEnumOrdinal |
( |
| ) |
const |
|
inline |
virtual int32_t apache::geode::client::CacheableEnum::hashcode |
( |
| ) |
const |
|
virtual |
virtual int32_t apache::geode::client::CacheableKey::logString |
( |
char * |
buffer, |
|
|
int32_t |
maxLength |
|
) |
| const |
|
virtualinherited |
virtual uint32_t apache::geode::client::CacheableEnum::objectSize |
( |
| ) |
const |
|
inlinevirtual |
virtual bool apache::geode::client::CacheableEnum::operator== |
( |
const CacheableKey & |
other | ) |
const |
|
virtual |
void apache::geode::client::SharedBase::preserveSB |
( |
| ) |
const |
|
inherited |
Atomically increment reference count.
int32_t apache::geode::client::SharedBase::refCount |
( |
| ) |
|
|
inlineinherited |
- Returns
- the reference count
static void apache::geode::client::Serializable::registerPdxSerializer |
( |
PdxSerializerPtr |
pdxSerializer | ) |
|
|
staticinherited |
Register the PDX serializer which can handle serialization for instances of user domain classes.
- See also
- PdxSerializer
static void apache::geode::client::Serializable::registerPdxType |
( |
TypeFactoryMethodPdx |
creationFunction | ) |
|
|
staticinherited |
register an Pdx instance factory method for a given type.
- Exceptions
-
IllegalStateException | if the typeName has already been registered, or there is an error in registering the type; check errno for more information in the latter case. |
static void apache::geode::client::Serializable::registerType |
( |
TypeFactoryMethod |
creationFunction | ) |
|
|
staticinherited |
register an instance factory method for a given type.
During registration the factory will be invoked to extract the typeId to associate with this function.
- Exceptions
-
IllegalStateException | if the typeId has already been registered, or there is an error in registering the type; check errno for more information in the latter case. |
void apache::geode::client::SharedBase::releaseSB |
( |
| ) |
const |
|
inherited |
Atomically decrement reference count, the SharedBase object is automatically deleted when its reference count goes to zero.
virtual void apache::geode::client::CacheableEnum::toData |
( |
DataOutput & |
output | ) |
const |
|
virtual |
virtual int8_t apache::geode::client::CacheableEnum::typeId |
( |
| ) |
const |
|
inlinevirtual |
return the typeId byte of the instance being serialized.
This is used by deserialization to determine what instance type to create and deserialize into.
Reimplemented from apache::geode::client::Serializable.