gemfire::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE > Class Template Reference

Inherits gemfire::CacheableKey.


Detailed Description

template<typename TObj, int8_t TYPEID, const char * TYPENAME, const char * SPRINTFSYM, int32_t STRSIZE>
class gemfire::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >

Template CacheableKey class for primitive types.


Public Member Functions

virtual int32_t classId () const
virtual int8_t DSFID () const
virtual SerializablefromData (DataInput &input)
virtual uint32_t hashcode () const
virtual size_t logString (char *buffer, size_t maxLength) const
virtual uint32_t objectSize () const
bool operator== (const TObj other) const
virtual bool operator== (const CacheableKey &other) const
void preserveSB () const
 Atomically increment reference count.
int32_t refCount ()
 
Returns:
the reference count

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
virtual int8_t typeId () const
TObj value () const

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 SharedPtr
< CacheableKeyType
create (const TObj value)
static SharedPtr
< CacheableKeyType
create ()
static SerializablecreateDeserializable ()
static void registerType (TypeFactoryMethod creationFunction)


Member Function Documentation

template<typename TObj, int8_t TYPEID, const char * TYPENAME, const char * SPRINTFSYM, int32_t STRSIZE>
virtual int32_t gemfire::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >::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.

template<class PRIM>
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.

template<typename TObj, int8_t TYPEID, const char * TYPENAME, const char * SPRINTFSYM, int32_t STRSIZE>
static SharedPtr< CacheableKeyType > gemfire::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >::create ( const TObj  value  )  [inline, static]

creation function with the given value.

template<typename TObj, int8_t TYPEID, const char * TYPENAME, const char * SPRINTFSYM, int32_t STRSIZE>
static SharedPtr< CacheableKeyType > gemfire::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >::create (  )  [inline, static]

creation function taking no arguments.

template<typename TObj, int8_t TYPEID, const char * TYPENAME, const char * SPRINTFSYM, int32_t STRSIZE>
static Serializable* gemfire::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >::createDeserializable (  )  [inline, static]

creation function registered with serialization registry.

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.

template<typename TObj, int8_t TYPEID, const char * TYPENAME, const char * SPRINTFSYM, int32_t STRSIZE>
virtual Serializable* gemfire::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >::fromData ( DataInput &  input  )  [inline, virtual]

deserialize this object

Implements gemfire::Serializable.

template<typename TObj, int8_t TYPEID, const char * TYPENAME, const char * SPRINTFSYM, int32_t STRSIZE>
virtual uint32_t gemfire::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >::hashcode (  )  const [inline, virtual]

return the hashcode for this key.

Implements gemfire::CacheableKey.

template<typename TObj, int8_t TYPEID, const char * TYPENAME, const char * SPRINTFSYM, int32_t STRSIZE>
virtual size_t gemfire::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >::logString ( char *  buffer,
size_t  maxLength 
) const [inline, virtual]

Copy the string form of the object into a char* buffer for logging purposes.

Reimplemented from gemfire::CacheableKey.

template<typename TObj, int8_t TYPEID, const char * TYPENAME, const char * SPRINTFSYM, int32_t STRSIZE>
virtual uint32_t gemfire::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >::objectSize (  )  const [inline, virtual]

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.

Implements gemfire::Serializable.

template<typename TObj, int8_t TYPEID, const char * TYPENAME, const char * SPRINTFSYM, int32_t STRSIZE>
bool gemfire::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >::operator== ( const TObj  other  )  const [inline]

return true if this key matches other key value.

template<typename TObj, int8_t TYPEID, const char * TYPENAME, const char * SPRINTFSYM, int32_t STRSIZE>
virtual bool gemfire::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >::operator== ( const CacheableKey other  )  const [inline, virtual]

return true if this key matches other.

Implements gemfire::CacheableKey.

void gemfire::SharedBase::preserveSB (  )  const [inherited]

Atomically increment reference count.

int32_t gemfire::SharedBase::refCount (  )  [inline, inherited]

Returns:
the reference count

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.

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 gemfire::SharedBase::releaseSB (  )  const [inherited]

Atomically decrement reference count, the SharedBase object is automatically deleted when its reference count goes to zero.

template<typename TObj, int8_t TYPEID, const char * TYPENAME, const char * SPRINTFSYM, int32_t STRSIZE>
virtual void gemfire::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >::toData ( DataOutput &  output  )  const [inline, virtual]

serialize this object

Implements gemfire::Serializable.

template<typename TObj, int8_t TYPEID, const char * TYPENAME, const char * SPRINTFSYM, int32_t STRSIZE>
virtual CacheableStringPtr gemfire::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >::toString (  )  const [inline, virtual]

return a string representation of the object.

Reimplemented from gemfire::Serializable.

template<typename TObj, int8_t TYPEID, const char * TYPENAME, const char * SPRINTFSYM, int32_t STRSIZE>
virtual int8_t gemfire::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >::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.

template<typename TObj, int8_t TYPEID, const char * TYPENAME, const char * SPRINTFSYM, int32_t STRSIZE>
TObj gemfire::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >::value (  )  const [inline]

gets the contained value.


GemFire C++ Cache API Documentation