Oracle® Fusion Middleware C++ API Reference for Oracle Coherence
12c (12.2.1.1.0)

E69640-01

WritingPofHandler Class Reference

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

Inherits PofHelper.

List of all members.


Detailed Description

An implementation of PofHandler that writes a POF stream to a WriteBuffer using a BufferOutput object.

Author:
jh 2008.04.09

Public Types

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

Public Member Functions

virtual void beginUserType (int32_t iPos, int nId, int32_t nUserTypeId, int32_t nVersionId)
 Report that a value of a "user type" has been encountered in the POF stream.
virtual void registerIdentity (int32_t nId)
 
virtual void onNullReference (int32_t iPos)
 
virtual void onIdentityReference (int32_t iPos, int32_t nId)
 
virtual void onInt16 (int32_t iPos, int16_t n)
 
virtual void onInt32 (int32_t iPos, int32_t n)
 
virtual void onInt64 (int32_t iPos, int64_t n)
 
virtual void onFloat32 (int32_t iPos, float32_t fl)
 
virtual void onFloat64 (int32_t iPos, float64_t dfl)
 
virtual void onBoolean (int32_t iPos, bool f)
 
virtual void onOctet (int32_t iPos, octet_t b)
 
virtual void onOctetString (int32_t iPos, Binary::View vBin)
 
virtual void onChar (int32_t iPos, wchar16_t ch)
 
virtual void onCharString (int32_t iPos, String::View vs)
 
virtual void onDate (int32_t iPos, int32_t nYear, int32_t nMonth, int32_t nDay)
 
virtual void onYearMonthInterval (int32_t iPos, int32_t cYears, int32_t cMonths)
 
virtual void onTime (int32_t iPos, int32_t nHour, int32_t nMinute, int32_t nSecond, int32_t nNano, bool fUTC)
 
virtual void onTime (int32_t iPos, int32_t nHour, int32_t nMinute, int32_t nSecond, int32_t nNano, int32_t nHourOffset, int32_t nMinuteOffset)
 
virtual void onTimeInterval (int32_t iPos, int32_t cHours, int32_t cMinutes, int32_t cSeconds, int32_t cNanos)
 
virtual void onDateTime (int32_t iPos, int32_t nYear, int32_t nMonth, int32_t nDay, int32_t nHour, int32_t nMinute, int32_t nSecond, int32_t nNano, bool fUTC)
 
virtual void onDateTime (int32_t iPos, int32_t nYear, int32_t nMonth, int32_t nDay, int32_t nHour, int32_t nMinute, int32_t nSecond, int32_t nNano, int32_t nHourOffset, int32_t nMinuteOffset)
 
virtual void onDayTimeInterval (int32_t iPos, int32_t cDays, int32_t cHours, int32_t cMinutes, int32_t cSeconds, int32_t cNanos)
 
virtual void beginCollection (int32_t iPos, size32_t cElements)
 
virtual void beginUniformCollection (int32_t iPos, size32_t cElements, int32_t nType)
 
virtual void beginArray (int32_t iPos, size32_t cElements)
 
virtual void beginUniformArray (int32_t iPos, size32_t cElements, int32_t nType)
 
virtual void beginSparseArray (int32_t iPos, size32_t cElements)
 
virtual void beginUniformSparseArray (int32_t iPos, size32_t cElements, int32_t nType)
 
virtual void beginMap (int32_t iPos, size32_t cElements)
 
virtual void beginUniformKeysMap (int32_t iPos, size32_t cElements, int32_t nTypeKeys)
 
virtual void beginUniformMap (int32_t iPos, size32_t cElements, int32_t nTypeKeys, int32_t nTypeValues)
 
virtual void beginUserType (int32_t iPos, int32_t nUserTypeId, int32_t nVersionId)
 
virtual void endComplexValue ()
 
virtual
WriteBuffer::BufferOutput::Handle 
getBufferOutput ()
 Obtain the DataOutput object that this Writing POF Handler is writing to.
virtual
WriteBuffer::BufferOutput::View 
getBufferOutput () const
 Obtain the DataOutput object that this Writing POF Handler is writing to.
virtual Complex::Handle getComplex ()
 Obtain the current Complex object that represents the complex type that is being written to the POF stream.
virtual Complex::View getComplex () const
 Obtain the current Complex object that represents the complex type that is being written to the POF stream.
virtual size64_t getComplexId () const
 Return the ID of the current Complex object.

Protected Member Functions

 WritingPofHandler (WriteBuffer::BufferOutput::Handle hOut)
 Construct a Writing POF Handler that will write a POF stream to the passed BufferOutput object.
virtual bool isSkippable () const
 Determine if the value encoding can be skipped.
virtual bool isCompressable () const
 Determine if the value encoding can be compressed by combining type and value information in such a way that type information could be lost.
virtual void encodePosition (int32_t iPos)
 Called for each and every value going into the POF stream, in case the value needs its position to be encoded into the stream.
virtual bool isTypeIdEncoded (int32_t nTypeId) const
 Determine if the type should be encoded for the current value.
virtual void setComplex (Complex::Handle hComplex)
 Set the current Complex object.

Protected Attributes

FinalHandle
< WriteBuffer::BufferOutput > 
f_hOut
 The BufferOutput to write to.
MemberHandle< Complexm_hComplex
 The current containing Complex value in the POF stream.
size64_t m_nComplexId
 The ID of the current Complex value.
bool m_fHasIdentity
 Set to true when the next value to write has been tagged with an identity.

Classes

class  Complex
 A Complex object represents the current complex data structure in the POF stream. More...
class  ComplexMap
 A ComplexMap object represents a map data structure (with uniform keys or with uniform keys and values) in the POF stream. More...

Constructor & Destructor Documentation

WritingPofHandler ( WriteBuffer::BufferOutput::Handle  hOut  )  [protected]

Construct a Writing POF Handler that will write a POF stream to the passed BufferOutput object.

Parameters:
hOut the BufferOutput to write to
Returns:
the new WritingPofHandler


Member Function Documentation

virtual void beginUserType ( int32_t  iPos,
int  nId,
int32_t  nUserTypeId,
int32_t  nVersionId 
) [virtual]

Report that a value of a "user type" has been encountered in the POF stream.

A user type is analogous to a "class", and a value of a user type is analogous to an "object".

This method call will be followed by a separate call to an "on" or "begin" method for each of the property values in the user type, and the user type will then be terminated by a call to endComplexValue().

Parameters:
iPos context-sensitive position information: property index within a user type, array index within an array, element counter within a collection, entry counter within a map, -1 otherwise
nId identity of the object to encode, or -1 if identity shouldn't be encoded in the POF stream
nUserTypeId the user type identifier, (nUserTypeId >= 0)
nVersionId the version identifier for the user data type data in the POF stream, (nVersionId >= 0)
Since:
Coherence 3.7.1

virtual bool isSkippable (  )  const [protected, virtual]

Determine if the value encoding can be skipped.

A value can be skipped if it is a default value and if it does not have an identity and if it is in a sparse data structure.

Returns:
true iff value encoding of default values can be skipped altogether

virtual bool isCompressable (  )  const [protected, virtual]

Determine if the value encoding can be compressed by combining type and value information in such a way that type information could be lost.

Returns:
true iff values can be encoded without type information

virtual void encodePosition ( int32_t  iPos  )  [protected, virtual]

Called for each and every value going into the POF stream, in case the value needs its position to be encoded into the stream.

Parameters:
iPos the position (property index, array index, etc.)

virtual bool isTypeIdEncoded ( int32_t  nTypeId  )  const [protected, virtual]

Determine if the type should be encoded for the current value.

Parameters:
nTypeId the type of the current value
Returns:
true if the type ID should be placed into the POF stream, and false if only the value itself should be placed into the stream

virtual WriteBuffer::BufferOutput::Handle getBufferOutput (  )  [virtual]

Obtain the DataOutput object that this Writing POF Handler is writing to.

Returns:
the DataOutput object that this POF handler is writing to

virtual WriteBuffer::BufferOutput::View getBufferOutput (  )  const [virtual]

Obtain the DataOutput object that this Writing POF Handler is writing to.

Returns:
the DataOutput object that this POF handler is writing to

virtual Complex::Handle getComplex (  )  [virtual]

Obtain the current Complex object that represents the complex type that is being written to the POF stream.

Returns:
the current Complex object

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

Obtain the current Complex object that represents the complex type that is being written to the POF stream.

Returns:
the current Complex object

virtual size64_t getComplexId (  )  const [virtual]

Return the ID of the current Complex object.

Returns:
the ID of the current Complex object.

virtual void setComplex ( Complex::Handle  hComplex  )  [protected, virtual]

Set the current Complex object.

Parameters:
hComplex the current Complex object.


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