VMware GemFire Native C++ Reference
9.1
|
Represents a cacheable key. More...
Inherits apache::geode::client::Serializable.
Inherited by apache::geode::client::CacheableDate, apache::geode::client::CacheableEnum, apache::geode::client::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >, apache::geode::client::CacheableString, and apache::geode::client::PdxSerializable.
Public Member Functions | |
virtual int32_t | classId () const =0 |
Return the classId of the instance being serialized. More... | |
virtual int8_t | DSFID () const |
return the Data Serialization Fixed ID type. More... | |
virtual Serializable * | fromData (DataInput &input)=0 |
deserialize this object, typical implementation should return the 'this' pointer. More... | |
virtual int32_t | hashcode () const =0 |
return the hashcode for this key. More... | |
virtual int32_t | logString (char *buffer, int32_t maxLength) const |
Copy the string form of a key into a char* buffer for logging purposes. More... | |
virtual uint32_t | objectSize () const |
return the size in bytes of the instance being serialized. More... | |
virtual bool | operator== (const CacheableKey &other) const =0 |
return true if this key matches other. More... | |
void | preserveSB () const |
Atomically increment reference count. More... | |
int32_t | refCount () |
void | releaseSB () const |
Atomically decrement reference count, the SharedBase object is automatically deleted when its reference count goes to zero. More... | |
virtual void | toData (DataOutput &output) const =0 |
serialize this object More... | |
virtual CacheableStringPtr | toString () const |
Display this object as 'string', which depends on the implementation in the subclasses. More... | |
virtual int8_t | typeId () const |
return the typeId byte of the instance being serialized. More... | |
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. More... | |
static void | registerPdxSerializer (PdxSerializerPtr pdxSerializer) |
Register the PDX serializer which can handle serialization for instances of user domain classes. More... | |
static void | registerPdxType (TypeFactoryMethodPdx creationFunction) |
register an Pdx instance factory method for a given type. More... | |
static void | registerType (TypeFactoryMethod creationFunction) |
register an instance factory method for a given type. More... | |
Protected Member Functions | |
CacheableKey () | |
Constructor. More... | |
virtual | ~CacheableKey () |
Destructor. More... | |
Represents a cacheable key.
|
inlineprotected |
Constructor.
|
inlineprotectedvirtual |
Destructor.
|
pure virtualinherited |
Return the classId of the instance being serialized.
This is used by deserialization to determine what instance type to create and deserialize into.
The classId must be unique within an application suite. Using a negative value may result in undefined behavior.
Implemented in apache::geode::client::CacheableContainerType< TBase, TYPEID >, apache::geode::client::CacheableArrayType< TObj, TYPEID >, apache::geode::client::RegionAttributes, apache::geode::client::Properties, apache::geode::client::Struct, apache::geode::client::CacheableEnum, apache::geode::client::CacheableString, apache::geode::client::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >, apache::geode::client::CacheableDate, apache::geode::client::UserFunctionExecutionException, apache::geode::client::CacheableObjectArray, apache::geode::client::CacheableUndefined, and apache::geode::client::CacheableFileName.
|
inlinestatic |
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.
|
virtualinherited |
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 apache::geode::client::Struct, and apache::geode::client::CacheableUndefined.
|
pure virtualinherited |
deserialize this object, typical implementation should return the 'this' pointer.
Implemented in apache::geode::client::PdxInstance, apache::geode::client::CacheableContainerType< TBase, TYPEID >, apache::geode::client::CacheableArrayType< TObj, TYPEID >, apache::geode::client::RegionAttributes, apache::geode::client::Properties, apache::geode::client::Struct, apache::geode::client::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >, apache::geode::client::CacheableEnum, apache::geode::client::CacheableDate, apache::geode::client::UserFunctionExecutionException, apache::geode::client::CacheableString, apache::geode::client::CacheableObjectArray, apache::geode::client::CacheableFileName, and apache::geode::client::CacheableUndefined.
|
pure virtual |
return the hashcode for this key.
Implemented in apache::geode::client::PdxInstance, apache::geode::client::CacheableEnum, apache::geode::client::CacheableDate, apache::geode::client::CacheableString, apache::geode::client::CacheableFileName, and apache::geode::client::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >.
|
virtual |
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 apache::geode::client::CacheableString, apache::geode::client::CacheableDate, and apache::geode::client::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >.
|
virtualinherited |
return the size in bytes of the instance being serialized.
This is used to determine whether the cache is using up more physical memory than it has been configured to use. The method can return zero if the user does not require the ability to control cache memory utilization. Note that you must implement this only if you use the HeapLRU feature.
Reimplemented in apache::geode::client::PdxInstance, apache::geode::client::CacheableContainerType< TBase, TYPEID >, apache::geode::client::CacheableArrayType< TObj, TYPEID >, apache::geode::client::CacheableString, apache::geode::client::RegionAttributes, apache::geode::client::Properties, apache::geode::client::Struct, apache::geode::client::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >, apache::geode::client::CacheableObjectArray, apache::geode::client::CacheableDate, apache::geode::client::UserFunctionExecutionException, apache::geode::client::CacheableUndefined, and apache::geode::client::CacheableEnum.
|
pure virtual |
return true if this key matches other.
Implemented in apache::geode::client::PdxInstance, apache::geode::client::CacheableEnum, apache::geode::client::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >, apache::geode::client::CacheableString, and apache::geode::client::CacheableDate.
|
inherited |
Atomically increment reference count.
|
inlineinherited |
|
staticinherited |
Register the PDX serializer which can handle serialization for instances of user domain classes.
|
staticinherited |
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. |
|
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.
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. |
|
inherited |
Atomically decrement reference count, the SharedBase object is automatically deleted when its reference count goes to zero.
|
pure virtualinherited |
serialize this object
Implemented in apache::geode::client::PdxInstance, apache::geode::client::CacheableContainerType< TBase, TYPEID >, apache::geode::client::CacheableArrayType< TObj, TYPEID >, apache::geode::client::RegionAttributes, apache::geode::client::Properties, apache::geode::client::Struct, apache::geode::client::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >, apache::geode::client::CacheableEnum, apache::geode::client::CacheableDate, apache::geode::client::UserFunctionExecutionException, apache::geode::client::CacheableString, apache::geode::client::CacheableObjectArray, apache::geode::client::CacheableFileName, and apache::geode::client::CacheableUndefined.
|
virtualinherited |
Display this object as 'string', which depends on the implementation in the subclasses.
The default implementation renders the classname.
The return value may be a temporary, so the caller has to ensure that the SharedPtr count does not go down to zero by storing the result in a variable or otherwise.
Reimplemented in apache::geode::client::PdxInstance, apache::geode::client::CacheableString, apache::geode::client::CacheableDate, apache::geode::client::CacheableEnum, and apache::geode::client::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >.
|
virtualinherited |
return the typeId byte of the instance being serialized.
This is used by deserialization 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 apache::geode::client::CacheableContainerType< TBase, TYPEID >, apache::geode::client::CacheableArrayType< TObj, TYPEID >, apache::geode::client::RegionAttributes, apache::geode::client::Properties, apache::geode::client::Struct, apache::geode::client::CacheableString, apache::geode::client::UserFunctionExecutionException, apache::geode::client::CacheableEnum, apache::geode::client::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >, apache::geode::client::CacheableDate, apache::geode::client::CacheableObjectArray, apache::geode::client::CacheableUndefined, and apache::geode::client::CacheableFileName.