gemfire::CacheableContainerType< TBase, TYPEID > Class Template Reference

Inherits gemfire::Serializable.


Detailed Description

template<typename TBase, int8_t TYPEID>
class gemfire::CacheableContainerType< TBase, TYPEID >

Template class for container Cacheable types.


Public Types

typedef TBase::Iterator Iterator

Public Member Functions

virtual int8_t classId () const
virtual SerializablefromData (DataInput &input)
virtual uint32_t objectSize () 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
 Display this object as 'string', which depends on the implementation in the subclasses.
virtual int8_t typeId () const

Static Public Member Functions

template<class PRIM>
static SerializablePtr create (const PRIM value)
 Factory method that creates the Serializable object that matches the type of value.
static SharedPtr
< CacheableContainerType
create (const size_t n)
static SharedPtr
< CacheableContainerType
create ()
static SerializablecreateDeserializable ()
static void registerType (TypeFactoryMethod creationFunction)


Member Typedef Documentation

template<typename TBase, int8_t TYPEID>
typedef TBase::Iterator gemfire::CacheableContainerType< TBase, TYPEID >::Iterator

Iterator for this type.


Member Function Documentation

template<typename TBase, int8_t TYPEID>
virtual int8_t gemfire::CacheableContainerType< TBase, TYPEID >::classId (  )  const [inline, virtual]

Return the classId byte of the instance being serialized. This is used by deserialization to determine what instance type to create and derserialize into.

Implements gemfire::Serializable.

template<class PRIM>
static SerializablePtr gemfire::Serializable::create ( const PRIM  value  )  [inline, static, inherited]

Factory method that creates the Serializable object that matches the type of value.

For customer defined derivations of Serializable, the method gemfire::createValue may be overloaded. For pointer types (e.g. char*) the method gemfire::createValueArr may be overloaded.

Reimplemented in gemfire::CacheableKey.

template<typename TBase, int8_t TYPEID>
static SharedPtr< CacheableContainerType > gemfire::CacheableContainerType< TBase, TYPEID >::create ( const size_t  n  )  [inline, static]

creation function with the given size.

template<typename TBase, int8_t TYPEID>
static SharedPtr< CacheableContainerType > gemfire::CacheableContainerType< TBase, TYPEID >::create (  )  [inline, static]

creation function taking no arguments.

template<typename TBase, int8_t TYPEID>
static Serializable* gemfire::CacheableContainerType< TBase, TYPEID >::createDeserializable (  )  [inline, static]

creation function registered with serialization registry.

template<typename TBase, int8_t TYPEID>
virtual Serializable* gemfire::CacheableContainerType< TBase, TYPEID >::fromData ( DataInput &  input  )  [inline, virtual]

deserialize this object

Implements gemfire::Serializable.

template<typename TBase, int8_t TYPEID>
virtual uint32_t gemfire::CacheableContainerType< TBase, TYPEID >::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.

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 TBase, int8_t TYPEID>
virtual void gemfire::CacheableContainerType< TBase, TYPEID >::toData ( DataOutput &  output  )  const [inline, virtual]

serialize this object

Implements gemfire::Serializable.

virtual CacheableStringPtr gemfire::Serializable::toString (  )  const [virtual, inherited]

Display this object as 'string', which depends on the implementation in the subclasses.

The default implementation renders the classname.

Reimplemented in gemfire::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >, gemfire::CacheableDate, and gemfire::CacheableString.

template<typename TBase, int8_t TYPEID>
virtual int8_t gemfire::CacheableContainerType< TBase, TYPEID >::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 derserialize into.

Reimplemented from gemfire::Serializable.


GemFire C++ Cache API Documentation