Oracle Coherence for C++ API
Release 3.6.0.0

E15728-01

WritingPofHandler::Complex Class Reference

#include <coherence/io/pof/WritingPofHandler.hpp>

Inherits Object.

Inherited by WritingPofHandler::ComplexMap.

List of all members.


Detailed Description

A Complex object represents the current complex data structure in the POF stream.

Public Types

typedef spec::Handle  Handle
  Complex Handle definition.
typedef spec::View  View
  Complex View definition.
typedef spec::Holder  Holder
  Complex Holder definition.

Public Member Functions

virtual void  onValue (int32_t iPos)
  Notify the Complex object that a value has been encountered.
virtual bool  isUniform () const
  Determine if the object encoding within the Complex type is uniform.
virtual int32_t  getUniformType () const
  If the object encoding is using uniform encoding, obtain the type id of the uniform type.
virtual bool  isSparse () const
  Determine if the position information is encoded with the values of the complex type, and if the Complex type is terminated in the POF stream with an illegal position (-1).
virtual Complex::Handle  pop ()
  Pop this Complex object off the stack, returning the outer Complex object or NULL if there is none.
virtual Complex::View  pop () const
  Pop this Complex object off the stack, returning the outer Complex object or NULL if there is none.

Protected Member Functions

  Complex (Complex::Handle hComplexCurrent, bool fEncodePosition)
  Construct a Complex object for a data collection or user type.
  Complex (Complex::Handle hComplexCurrent, bool fEncodePosition, int32_t nUniformTypeId)
  Construct a Complex object for a uniformly-typed data collection.

Protected Attributes

const bool  m_fSparse
  Whether or not the position information is encoded.
const bool  m_fUniform
  Whether or not values within the complex type are uniformly encoded.
const int32_t  m_nTypeId
  The type ID, if uniform encoding is used.
FinalHandle< Complex m_hComplexOuter
  The Complex within which this Complex exists, to support nesting.

Constructor & Destructor Documentation

Complex ( Complex::Handle  hComplexCurrent,
bool  fEncodePosition  
) [protected]

Construct a Complex object for a data collection or user type.

Parameters:
hComplexCurrent  the current Complex object or NULL
fEncodePosition  true to encode the position information

Complex ( Complex::Handle  hComplexCurrent,
bool  fEncodePosition,
int32_t  nUniformTypeId  
) [protected]

Construct a Complex object for a uniformly-typed data collection.

Parameters:
hComplexCurrent  the current Complex object or NULL
fEncodePosition  true to encode the position information
nUniformTypeId  the type identifier of the uniform type

Member Function Documentation

virtual void onValue ( int32_t  iPos  )  [virtual]

Notify the Complex object that a value has been encountered.

Parameters:
iPos  the position that accompanied the value

Reimplemented in WritingPofHandler::ComplexMap.

virtual bool isUniform (  )  const [virtual]

Determine if the object encoding within the Complex type is uniform.

Returns:
true iff values within the Complex type are of a uniform type and are encoded uniformly

Reimplemented in WritingPofHandler::ComplexMap.

virtual int32_t getUniformType (  )  const [virtual]

If the object encoding is using uniform encoding, obtain the type id of the uniform type.

Returns:
the type id used for the uniform encoding

Reimplemented in WritingPofHandler::ComplexMap.

virtual bool isSparse (  )  const [virtual]

Determine if the position information is encoded with the values of the complex type, and if the Complex type is terminated in the POF stream with an illegal position (-1).

Returns:
true iff the complex value is a sparse type

virtual Complex::Handle pop (  )  [virtual]

Pop this Complex object off the stack, returning the outer Complex object or NULL if there is none.

Returns:
the outer Complex object or NULL if there is none

virtual Complex::View pop (  )  const [virtual]

Pop this Complex object off the stack, returning the outer Complex object or NULL if there is none.

Returns:
the outer Complex object or NULL if there is none

Member Data Documentation

const bool m_fSparse [protected]

Whether or not the position information is encoded.

This is true for user type properties and array elements.

const bool m_fUniform [protected]

Whether or not values within the complex type are uniformly encoded.

This is expected for arrays of primitive types, for example.


The documentation for this class was generated from the following file:
Copyright © 2000, 2010, Oracle and/or its affiliates. All rights reserved.