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.
Public Member Functions | |
| virtual int32_t | classId () const |
| virtual int8_t | DSFID () const |
| virtual Serializable * | fromData (DataInput &input) |
| const char * | getEnumClassName () const |
| |
| const char * | getEnumName () const |
| |
| int32_t | getEnumOrdinal () const |
| |
| virtual uint32_t | hashcode () const |
| |
| virtual int32_t | logString (char *buffer, int32_t maxLength) const |
| Copy the string form of a key into a char* buffer for logging purposes. | |
| virtual uint32_t | objectSize () const |
| |
| virtual bool | operator== (const CacheableKey &other) const |
| |
| void | preserveSB () const |
| Atomically increment reference count. | |
| int32_t | refCount () |
| |
| void | releaseSB () const |
| Atomically decrement reference count, the SharedBase object is automatically deleted when its reference count goes to zero. | |
| virtual void | toData (DataOutput &output) const |
| virtual CacheableStringPtr | toString () const |
| Display this object as c string. | |
| virtual int8_t | typeId () const |
| ~CacheableEnum () | |
| Destructor. | |
Static Public Member Functions | |
| template<class PRIM> | |
| static CacheableKeyPtr | create (const PRIM value) |
| Factory method that creates the key type that matches the type of value. | |
| static CacheableEnumPtr | create (const char *enumClassName, const char *enumName, int32_t ordinal) |
| Factory method for creating an instance of CacheableEnum. | |
| static Serializable * | createDeserializable () |
| static void | registerPdxSerializer (PdxSerializerPtr pdxSerializer) |
| Register the PDX serializer which can handle serialization for instances of user domain classes. | |
| static void | registerPdxType (TypeFactoryMethodPdx creationFunction) |
| static void | registerType (TypeFactoryMethod creationFunction) |
| gemfire::CacheableEnum::~CacheableEnum | ( | ) |
Destructor.
| virtual int32_t gemfire::CacheableEnum::classId | ( | ) | const [inline, virtual] |
Return the classId of the instance being serialized. This is used by deserialization to determine what instance type to create and deserialize into.
Implements gemfire::Serializable.
| static CacheableKeyPtr gemfire::CacheableKey::create | ( | const PRIM | value | ) | [inline, static, inherited] |
Factory method that creates the key type that matches the type of value.
For customer defined derivations of CacheableKey, the method gemfire::createKey may be overloaded. For pointer types (e.g. char*) the method gemfire::createKeyArr may be overloaded.
Reimplemented from gemfire::Serializable.
| static CacheableEnumPtr gemfire::CacheableEnum::create | ( | const char * | enumClassName, | |
| const char * | enumName, | |||
| int32_t | ordinal | |||
| ) | [inline, static] |
Factory method for creating an instance of CacheableEnum.
| 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. |
| static Serializable* gemfire::CacheableEnum::createDeserializable | ( | ) | [inline, static] |
creation function for enum.
| virtual int8_t gemfire::Serializable::DSFID | ( | ) | const [virtual, inherited] |
return the Data Serialization Fixed ID type. This is used to determine what instance type to create and deserialize into.
Note that this should not be overridden by custom implementations and is reserved only for builtin types.
Reimplemented in gemfire::CacheableUndefined, and gemfire::Struct.
| virtual Serializable* gemfire::CacheableEnum::fromData | ( | DataInput & | input | ) | [virtual] |
deserialize this object
Implements gemfire::Serializable.
| const char* gemfire::CacheableEnum::getEnumClassName | ( | ) | const [inline] |
| const char* gemfire::CacheableEnum::getEnumName | ( | ) | const [inline] |
| int32_t gemfire::CacheableEnum::getEnumOrdinal | ( | ) | const [inline] |
| virtual uint32_t gemfire::CacheableEnum::hashcode | ( | ) | const [virtual] |
| virtual int32_t gemfire::CacheableKey::logString | ( | char * | buffer, | |
| int32_t | maxLength | |||
| ) | const [virtual, inherited] |
Copy the string form of a key into a char* buffer for logging purposes.
Implementations should only generate a string as long as maxLength chars, and return the number of chars written. buffer is expected to be large enough to hold at least maxLength chars.
The default implementation renders the classname and instance address.
Reimplemented in gemfire::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >, gemfire::CacheableDate, and gemfire::CacheableString.
| virtual uint32_t gemfire::CacheableEnum::objectSize | ( | ) | const [inline, virtual] |
| virtual bool gemfire::CacheableEnum::operator== | ( | const CacheableKey & | other | ) | const [virtual] |
| void gemfire::SharedBase::preserveSB | ( | ) | const [inherited] |
Atomically increment reference count.
| int32_t gemfire::SharedBase::refCount | ( | ) | [inline, inherited] |
| static void gemfire::Serializable::registerPdxSerializer | ( | PdxSerializerPtr | pdxSerializer | ) | [static, inherited] |
Register the PDX serializer which can handle serialization for instances of user domain classes.
| static void gemfire::Serializable::registerPdxType | ( | TypeFactoryMethodPdx | creationFunction | ) | [static, inherited] |
register an Pdx instance factory method for a given type.
| 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 gemfire::Serializable::registerType | ( | TypeFactoryMethod | creationFunction | ) | [static, inherited] |
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.
| 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 gemfire::SharedBase::releaseSB | ( | ) | const [inherited] |
Atomically decrement reference count, the SharedBase object is automatically deleted when its reference count goes to zero.
| virtual void gemfire::CacheableEnum::toData | ( | DataOutput & | output | ) | const [virtual] |
serialize this object
Implements gemfire::Serializable.
| virtual CacheableStringPtr gemfire::CacheableEnum::toString | ( | ) | const [inline, virtual] |
| virtual int8_t gemfire::CacheableEnum::typeId | ( | ) | const [inline, virtual] |
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 gemfire::Serializable.