#include <coherence/io/pof/PofWriter.hpp>
Inherits Object.
Inherited by PofBufferWriter [virtual]
.
The serialized format of a POF user type is as follows:
The version identifier is used to support both backwards and forwards compatibility of serialized POF user types. Versioning of user types allows the addition of new properties to a user type, but not the replacement or removal of properties that existed in a previous version of the user type.
When a version v1 of a user type written by a PofWriter is read by a PofReader that supports version v2 of the same user type, the PofReader returns default values for the additional properties of the User Type that exist in v2 but do not exist in v1. Conversely, when a version v2 of a user type written by a PofWriter is read by a PofReader that supports version v1 of the same user type, the instance of user type v1 must store those additional opaque properties for later encoding. The PofReader enables the user type to store off the opaque properties in binary form (see PofReader::readRemainder). When the user type is re-encoded, it must be done so using the version identifier v2, since it is including the unaltered v2 properties. The opaque properties are subsequently included in the POF stream using the writeRemainder method.
Following the version identifier is an ordered sequence of index/value pairs, each of which is composed of a property index encoded as non-negative integer value whose value is greater than the previous property index, and a property value encoded as a POF value. The user type is finally terminated with an illegal property index of -1.
Note: To read a property that was written using a PofWrite method, the corresponding read method on PofReader must be used. For example, if a property was written using writeByteArray, PofReader::readByteArray must be used to read the property.
Public Types | |
typedef spec::Handle | Handle |
PofWriter Handle definition. | |
typedef spec::View | View |
PofWriter View definition. | |
typedef spec::Holder | Holder |
PofWriter Holder definition. | |
Public Member Functions | |
virtual void | writeBoolean (int32_t iProp, bool f)=0 |
Write a boolean property to the POF stream. | |
virtual void | writeOctet (int32_t iProp, octet_t b)=0 |
Write an octet property to the POF stream. | |
virtual void | writeChar16 (int32_t iProp, wchar16_t ch)=0 |
Write a 16-bit Unicode character property (represented as a wchar16_t ) to the POF stream. | |
virtual void | writeInt16 (int32_t iProp, int16_t n)=0 |
Write a 16-bit integer property to the POF stream. | |
virtual void | writeInt32 (int32_t iProp, int32_t n)=0 |
Write a 32-bit integer property to the POF stream. | |
virtual void | writeInt64 (int32_t iProp, int64_t l)=0 |
Write a 64-bit integer property to the POF stream. | |
virtual void | writeFloat32 (int32_t iProp, float32_t fl)=0 |
Write a 32-bit floating-point property to the POF stream. | |
virtual void | writeFloat64 (int32_t iProp, float64_t dfl)=0 |
Write a 64-bit floating-point property to the POF stream. | |
virtual void | writeBooleanArray (int32_t iProp, Array< bool >::View vaf)=0 |
Write a boolean array property to the POF stream. | |
virtual void | writeOctetArray (int32_t iProp, Array< octet_t >::View vab)=0 |
Write an octect array property to the POF stream. | |
virtual void | writeChar16Array (int32_t iProp, Array< wchar16_t >::View vach)=0 |
Write a 16-bit Unicode character array property to the POF stream. | |
virtual void | writeInt16Array (int32_t iProp, Array< int16_t >::View van)=0 |
Write a 16-bit integer array property to the POF stream. | |
virtual void | writeInt32Array (int32_t iProp, Array< int32_t >::View van)=0 |
Write a 32-bit integer array property to the POF stream. | |
virtual void | writeInt64Array (int32_t iProp, Array< int64_t >::View val)=0 |
Write a 64-bit integer array property to the POF stream. | |
virtual void | writeFloat32Array (int32_t iProp, Array< float32_t >::View vafl)=0 |
Write a 32-bit floating-point array property to the POF stream. | |
virtual void | writeFloat64Array (int32_t iProp, Array< float64_t >::View vadfl)=0 |
Write a 64-bit floating-point array property to the POF stream. | |
virtual void | writeBinary (int32_t iProp, Binary::View vBin)=0 |
Write a Binary property to the POF stream. | |
virtual void | writeString (int32_t iProp, String::View vs)=0 |
Write a String property to the POF stream. | |
virtual void | writeRawDate (int32_t iProp, RawDate::View vDate)=0 |
Write a RawDate property to the POF stream. | |
virtual void | writeRawDateTime (int32_t iProp, RawDateTime::View vdt)=0 |
Write a RawDateTime property to the POF stream. | |
virtual void | writeRawDayTimeInterval (int32_t iProp, RawDayTimeInterval::View vInterval)=0 |
Write a RawDayTimeInterval property to the POF stream. | |
virtual void | writeRawTime (int32_t iProp, RawTime::View vTime)=0 |
Write a RawTime property to the POF stream. | |
virtual void | writeRawTimeInterval (int32_t iProp, RawTimeInterval::View vInterval)=0 |
Write a RawTimeInterval property to the POF stream. | |
virtual void | writeRawYearMonthInterval (int32_t iProp, RawYearMonthInterval::View vInterval)=0 |
Write a RawYearMonthInterval property to the POF stream. | |
virtual void | writeObject (int32_t iProp, Object::View v)=0 |
Write an Object property to the POF stream. | |
virtual void | writeObjectArray (int32_t iProp, ObjectArray::View va)=0 |
Write an ObjectArray property to the POF stream. | |
virtual void | writeObjectArray (int32_t iProp, ObjectArray::View va, Class::View vClass)=0 |
Write a uniform ObjectArray property to the POF stream. | |
virtual void | writeLongArray (int32_t iProp, LongArray::View vla)=0 |
Write a LongArray property to the POF stream. | |
virtual void | writeLongArray (int32_t iProp, LongArray::View vla, Class::View vClass)=0 |
Write a uniform LongArray property to the POF stream. | |
virtual void | writeCollection (int32_t iProp, Collection::View vCol)=0 |
Write a Collection property to the POF stream. | |
virtual void | writeCollection (int32_t iProp, Collection::View vCol, Class::View vClass)=0 |
Write a uniform Collection property to the POF stream. | |
virtual void | writeMap (int32_t iProp, Map::View vMap)=0 |
Write a Map property to the POF stream. | |
virtual void | writeMap (int32_t iProp, Map::View vMap, Class::View vClassKey)=0 |
Write a uniform key Map property to the POF stream. | |
virtual void | writeMap (int32_t iProp, Map::View vMap, Class::View vClassKey, Class::View vClassValue)=0 |
Write a uniform Map property to the POF stream. | |
virtual PofContext::View | getPofContext () const =0 |
Return the PofContext object used by this PofWriter to serialize user types to a POF stream. | |
virtual void | setPofContext (PofContext::View vCtx)=0 |
Configure the PofContext object used by this PofWriter to serialize user types to a POF stream. | |
virtual int32_t | getUserTypeId () const =0 |
Determine the user type that is currently being written. | |
virtual int32_t | getVersionId () const =0 |
Determine the version identifier of the user type that is currently being written. | |
virtual void | setVersionId (int32_t nVersionId)=0 |
Set the version identifier of the user type that is currently being written. | |
virtual PofWriter::Handle | createNestedPofWriter (int32_t iProp)=0 |
Obtain a PofWriter that can be used to write a set of properties into a single property of the current user type. | |
virtual PofWriter::Handle | createNestedPofWriter (int32_t iProp, int32_t nTypeId)=0 |
Obtain a PofWriter that can be used to write a set of properties into a single property of the current user type. | |
virtual void | writeRemainder (Binary::View vBinProps)=0 |
Write the remaining properties to the POF stream, terminating the writing of the currrent user type. |
virtual void writeBoolean | ( | int32_t | iProp, | |
bool | f | |||
) | [pure virtual] |
Write a boolean property to the POF stream.
iProp | the property index | |
f | the bool property value to write |
coherence::lang::IllegalArgumentException | if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream | |
coherence::io::IOException | if an I/O error occurs |
Implemented in PofBufferWriter.
virtual void writeOctet | ( | int32_t | iProp, | |
octet_t | b | |||
) | [pure virtual] |
Write an octet property to the POF stream.
iProp | the property index | |
b | the octet_t property value to write |
coherence::lang::IllegalArgumentException | if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream | |
coherence::io::IOException | if an I/O error occurs |
Implemented in PofBufferWriter.
virtual void writeChar16 | ( | int32_t | iProp, | |
wchar16_t | ch | |||
) | [pure virtual] |
Write a 16-bit Unicode character property (represented as a wchar16_t
) to the POF stream.
iProp | the property index | |
ch | the wchar16_t property value to write |
coherence::lang::IllegalArgumentException | if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream | |
coherence::io::IOException | if an I/O error occurs |
Implemented in PofBufferWriter.
virtual void writeInt16 | ( | int32_t | iProp, | |
int16_t | n | |||
) | [pure virtual] |
Write a 16-bit integer property to the POF stream.
iProp | the property index | |
n | the int16_t property value to write |
coherence::lang::IllegalArgumentException | if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream | |
coherence::io::IOException | if an I/O error occurs |
Implemented in PofBufferWriter.
virtual void writeInt32 | ( | int32_t | iProp, | |
int32_t | n | |||
) | [pure virtual] |
Write a 32-bit integer property to the POF stream.
iProp | the property index | |
n | the int32_t property value to write |
coherence::lang::IllegalArgumentException | if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream | |
coherence::io::IOException | if an I/O error occurs |
Implemented in PofBufferWriter.
virtual void writeInt64 | ( | int32_t | iProp, | |
int64_t | l | |||
) | [pure virtual] |
Write a 64-bit integer property to the POF stream.
iProp | the property index | |
l | the int64_t property value to write |
coherence::lang::IllegalArgumentException | if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream | |
coherence::io::IOException | if an I/O error occurs |
Implemented in PofBufferWriter.
virtual void writeFloat32 | ( | int32_t | iProp, | |
float32_t | fl | |||
) | [pure virtual] |
Write a 32-bit floating-point property to the POF stream.
iProp | the property index | |
fl | the float32_t property value to write |
coherence::lang::IllegalArgumentException | if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream | |
coherence::io::IOException | if an I/O error occurs |
Implemented in PofBufferWriter.
virtual void writeFloat64 | ( | int32_t | iProp, | |
float64_t | dfl | |||
) | [pure virtual] |
Write a 64-bit floating-point property to the POF stream.
iProp | the property index | |
dfl | the float64_t property value to write |
coherence::lang::IllegalArgumentException | if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream | |
coherence::io::IOException | if an I/O error occurs |
Implemented in PofBufferWriter.
Write a boolean array property to the POF stream.
iProp | the property index | |
vaf | the bool array property value to write |
coherence::lang::IllegalArgumentException | if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream | |
coherence::io::IOException | if an I/O error occurs |
Implemented in PofBufferWriter.
Write an octect array property to the POF stream.
iProp | the property index | |
vab | the octet_t array property value to write |
coherence::lang::IllegalArgumentException | if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream | |
coherence::io::IOException | if an I/O error occurs |
Implemented in PofBufferWriter.
Write a 16-bit Unicode character array property to the POF stream.
iProp | the property index | |
vach | the wchar16_t array property value to write |
coherence::lang::IllegalArgumentException | if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream | |
coherence::io::IOException | if an I/O error occurs |
Implemented in PofBufferWriter.
Write a 16-bit integer array property to the POF stream.
iProp | the property index | |
van | the int16_t array property value to write |
coherence::lang::IllegalArgumentException | if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream | |
coherence::io::IOException | if an I/O error occurs |
Implemented in PofBufferWriter.
Write a 32-bit integer array property to the POF stream.
iProp | the property index | |
van | the int32_t array property value to write |
coherence::lang::IllegalArgumentException | if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream | |
coherence::io::IOException | if an I/O error occurs |
Implemented in PofBufferWriter.
Write a 64-bit integer array property to the POF stream.
iProp | the property index | |
val | the int64_t array property value to write |
coherence::lang::IllegalArgumentException | if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream | |
coherence::io::IOException | if an I/O error occurs |
Implemented in PofBufferWriter.
Write a 32-bit floating-point array property to the POF stream.
iProp | the property index | |
vafl | the float32_t array property value to write |
coherence::lang::IllegalArgumentException | if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream | |
coherence::io::IOException | if an I/O error occurs |
Implemented in PofBufferWriter.
Write a 64-bit floating-point array property to the POF stream.
iProp | the property index | |
vadfl | the float64_t array property value to write |
coherence::lang::IllegalArgumentException | if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream | |
coherence::io::IOException | if an I/O error occurs |
Implemented in PofBufferWriter.
virtual void writeBinary | ( | int32_t | iProp, | |
Binary::View | vBin | |||
) | [pure virtual] |
Write a Binary
property to the POF stream.
iProp | the property index | |
vBin | the Binary property value to write |
coherence::lang::IllegalArgumentException | if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream | |
coherence::io::IOException | if an I/O error occurs |
Implemented in PofBufferWriter.
virtual void writeString | ( | int32_t | iProp, | |
String::View | vs | |||
) | [pure virtual] |
Write a String
property to the POF stream.
iProp | the property index | |
vs | the String property value to write |
coherence::lang::IllegalArgumentException | if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream | |
coherence::io::IOException | if an I/O error occurs |
Implemented in PofBufferWriter.
virtual void writeRawDate | ( | int32_t | iProp, | |
RawDate::View | vDate | |||
) | [pure virtual] |
Write a RawDate property to the POF stream.
iProp | the property index | |
vDate | the RawDate property value to write |
coherence::lang::IllegalArgumentException | if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream | |
coherence::io::IOException | if an I/O error occurs |
Implemented in PofBufferWriter.
virtual void writeRawDateTime | ( | int32_t | iProp, | |
RawDateTime::View | vdt | |||
) | [pure virtual] |
Write a RawDateTime property to the POF stream.
iProp | the property index | |
vdt | the RawDateTime property value to write |
coherence::lang::IllegalArgumentException | if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream | |
coherence::io::IOException | if an I/O error occurs |
Implemented in PofBufferWriter.
virtual void writeRawDayTimeInterval | ( | int32_t | iProp, | |
RawDayTimeInterval::View | vInterval | |||
) | [pure virtual] |
Write a RawDayTimeInterval property to the POF stream.
iProp | the property index | |
vInterval | the RawDayTimeInterval property value to write |
coherence::lang::IllegalArgumentException | if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream | |
coherence::io::IOException | if an I/O error occurs |
Implemented in PofBufferWriter.
virtual void writeRawTime | ( | int32_t | iProp, | |
RawTime::View | vTime | |||
) | [pure virtual] |
Write a RawTime property to the POF stream.
iProp | the property index | |
vTime | the RawTime property value to write |
coherence::lang::IllegalArgumentException | if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream | |
coherence::io::IOException | if an I/O error occurs |
Implemented in PofBufferWriter.
virtual void writeRawTimeInterval | ( | int32_t | iProp, | |
RawTimeInterval::View | vInterval | |||
) | [pure virtual] |
Write a RawTimeInterval property to the POF stream.
iProp | the property index | |
vInterval | the RawTimeInterval property value to write |
coherence::lang::IllegalArgumentException | if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream | |
coherence::io::IOException | if an I/O error occurs |
Implemented in PofBufferWriter.
virtual void writeRawYearMonthInterval | ( | int32_t | iProp, | |
RawYearMonthInterval::View | vInterval | |||
) | [pure virtual] |
Write a RawYearMonthInterval property to the POF stream.
iProp | the property index | |
vInterval | the RawYearMonthInterval property value to write |
coherence::lang::IllegalArgumentException | if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream | |
coherence::io::IOException | if an I/O error occurs |
Implemented in PofBufferWriter.
virtual void writeObject | ( | int32_t | iProp, | |
Object::View | v | |||
) | [pure virtual] |
Write an Object
property to the POF stream.
The given object must be an instance of one of the following:
Otherwise, a PofSerializer for the object must be obtainable from the PofContext associated with this PofWriter.
iProp | the property index | |
v | the Object property to write |
coherence::lang::IllegalArgumentException | if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream | |
coherence::lang::IllegalArgumentException | if the given property cannot be encoded into a POF stream | |
coherence::io::IOException | if an I/O error occurs |
Implemented in PofBufferWriter, and UserTypeWriter.
virtual void writeObjectArray | ( | int32_t | iProp, | |
ObjectArray::View | va | |||
) | [pure virtual] |
Write an ObjectArray
property to the POF stream.
Each element of the given array must be an instance (or a collection of instances) of one of the following:
Otherwise, a PofSerializer for each element of the array must be obtainable from the PofContext associated with this PofWriter.
iProp | the property index | |
va | the ObjectArray property value to write |
coherence::lang::IllegalArgumentException | if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream | |
coherence::lang::IllegalArgumentException | if the given property cannot be encoded into a POF stream | |
coherence::io::IOException | if an I/O error occurs |
Implemented in PofBufferWriter.
virtual void writeObjectArray | ( | int32_t | iProp, | |
ObjectArray::View | va, | |||
Class::View | vClass | |||
) | [pure virtual] |
Write a uniform ObjectArray
property to the POF stream.
Each element of the given array must be an instance (or a collection of instances) of one of the following:
Otherwise, a PofSerializer for each element of the array must be obtainable from the PofContext associated with this PofWriter.
Additionally, the type of each element must be equal to the specified class.
iProp | the property index | |
va | the ObjectArray property value to write | |
vClass | the class of all elements; must not be NULL |
coherence::lang::IllegalArgumentException | if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream | |
coherence::lang::IllegalArgumentException | if the given property cannot be encoded into a POF stream | |
coherence::lang::IllegalArgumentException | if the type of one or more elements of the array is not equal to the specified class | |
coherence::io::IOException | if an I/O error occurs |
Implemented in PofBufferWriter.
virtual void writeLongArray | ( | int32_t | iProp, | |
LongArray::View | vla | |||
) | [pure virtual] |
Write a LongArray
property to the POF stream.
Each element of the given array must be an instance (or a collection of instances) of one of the following:
Otherwise, a PofSerializer for each element of the array must be obtainable from the PofContext associated with this PofWriter.
iProp | the property index | |
vla | the LongArray property value to write |
coherence::lang::IllegalArgumentException | if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream | |
coherence::lang::IllegalArgumentException | if the given property cannot be encoded into a POF stream | |
coherence::io::IOException | if an I/O error occurs |
Implemented in PofBufferWriter.
virtual void writeLongArray | ( | int32_t | iProp, | |
LongArray::View | vla, | |||
Class::View | vClass | |||
) | [pure virtual] |
Write a uniform LongArray
property to the POF stream.
Each element of the given array must be an instance (or a collection of instances) of one of the following:
Otherwise, a PofSerializer for each element of the array must be obtainable from the PofContext associated with this PofWriter.
Additionally, the type of each element must be equal to the specified class.
iProp | the property index | |
vla | the LongArray property value to write | |
vClass | the class of all elements; must not be NULL |
coherence::lang::IllegalArgumentException | if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream | |
coherence::lang::IllegalArgumentException | if the given property cannot be encoded into a POF stream | |
coherence::lang::IllegalArgumentException | if the type of one or more elements of the array is not equal to the specified class | |
coherence::io::IOException | if an I/O error occurs |
Implemented in PofBufferWriter.
virtual void writeCollection | ( | int32_t | iProp, | |
Collection::View | vCol | |||
) | [pure virtual] |
Write a Collection
property to the POF stream.
Each element of the given Collection
must be an instance (or collection of instances) of one of the following:
Otherwise, a PofSerializer for each element of the Collection
must be obtainable from the PofContext associated with this PofWriter.
iProp | the property index | |
vCol | the Collection property value to write |
coherence::lang::IllegalArgumentException | if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream | |
coherence::lang::IllegalArgumentException | if the given property cannot be encoded into a POF stream | |
coherence::io::IOException | if an I/O error occurs |
Implemented in PofBufferWriter.
virtual void writeCollection | ( | int32_t | iProp, | |
Collection::View | vCol, | |||
Class::View | vClass | |||
) | [pure virtual] |
Write a uniform Collection
property to the POF stream.
Each element of the given Collection
must be an instance (or collection of instances) of one of the following:
Otherwise, a PofSerializer for each element of the Collection
must be obtainable from the PofContext associated with this PofWriter.
Additionally, the type of each element must be equal to the specified class.
iProp | the property index | |
vCol | the Collection property value to write | |
vClass | the class of all elements; must not be NULL |
coherence::lang::IllegalArgumentException | if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream | |
coherence::lang::IllegalArgumentException | if the given property cannot be encoded into a POF stream | |
coherence::lang::IllegalArgumentException | if the type of one or more elements of the Collection is not equal to the specified class | |
coherence::io::IOException | if an I/O error occurs |
Implemented in PofBufferWriter.
virtual void writeMap | ( | int32_t | iProp, | |
Map::View | vMap | |||
) | [pure virtual] |
Write a Map
property to the POF stream.
Each key and value of the given Map
must be an instance (or a collection of instances) of one of the following:
Otherwise, a PofSerializer for each key and value of the Map
must be obtainable from the PofContext associated with this PofWriter.
iProp | the property index | |
vMap | the Map property value to write |
coherence::lang::IllegalArgumentException | if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream | |
coherence::lang::IllegalArgumentException | if the given property cannot be encoded into a POF stream | |
coherence::io::IOException | if an I/O error occurs |
Implemented in PofBufferWriter.
virtual void writeMap | ( | int32_t | iProp, | |
Map::View | vMap, | |||
Class::View | vClassKey | |||
) | [pure virtual] |
Write a uniform key Map
property to the POF stream.
Each key and value of the given Map
must be an instance (or a collection of instances) of one of the following:
Otherwise, a PofSerializer for each key and value of the Map
must be obtainable from the PofContext associated with this PofWriter.
Additionally, the type of each key must be equal to the specified class.
iProp | the property index | |
vMap | the Map property value to write | |
vClassKey | the class of all keys; must not be NULL |
coherence::lang::IllegalArgumentException | if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream | |
coherence::lang::IllegalArgumentException | if the given property cannot be encoded into a POF stream | |
coherence::lang::IllegalArgumentException | if the type of one or more keys of the Map is not equal to the specified class | |
coherence::io::IOException | if an I/O error occurs |
Implemented in PofBufferWriter.
virtual void writeMap | ( | int32_t | iProp, | |
Map::View | vMap, | |||
Class::View | vClassKey, | |||
Class::View | vClassValue | |||
) | [pure virtual] |
Write a uniform Map
property to the POF stream.
Each key and value of the given Map
must be an instance (or a collection of instances) of one of the following:
Otherwise, a PofSerializer for each key and value of the Map
must be obtainable from the PofContext associated with this PofWriter.
Additionally, the type of each key must be equal to the specified class.
iProp | the property index | |
vMap | the Map property value to write | |
vClassKey | the class of all keys; must not be NULL | |
vClassValue | the class of all values; must not be NULL |
coherence::lang::IllegalArgumentException | if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream | |
coherence::lang::IllegalArgumentException | if the given property cannot be encoded into a POF stream | |
coherence::lang::IllegalArgumentException | if the type of one or more keys or values of the Map is not equal to the specified classes | |
coherence::io::IOException | if an I/O error occurs |
Implemented in PofBufferWriter.
virtual PofContext::View getPofContext | ( | ) | const [pure virtual] |
Return the PofContext object used by this PofWriter to serialize user types to a POF stream.
Implemented in PofBufferWriter.
virtual void setPofContext | ( | PofContext::View | vCtx | ) | [pure virtual] |
Configure the PofContext object used by this PofWriter to serialize user types to a POF stream.
Note: this is an advanced method that should be used with care. For example, if this method is being used to switch to another PofContext mid-POF stream, it is important to eventually restore the original PofContext. For example:
PofContext::View vCtxOrig = hWriter->getPofContext();
// switch to another PofContext PofContext::View vCtxNew = ...; hWriter->setContext(vCtxNew);
// output POF data using the writer ...
// restore the original PofContext hWriter->setPofContext(vCtxOrig);
vCtx | the new PofContext; must not be NULL |
Implemented in PofBufferWriter.
virtual int32_t getUserTypeId | ( | ) | const [pure virtual] |
Determine the user type that is currently being written.
Implemented in PofBufferWriter, and UserTypeWriter.
virtual int32_t getVersionId | ( | ) | const [pure virtual] |
Determine the version identifier of the user type that is currently being written.
coherence::lang::IllegalStateException | if no user type is being parsed |
Implemented in PofBufferWriter, and UserTypeWriter.
virtual void setVersionId | ( | int32_t | nVersionId | ) | [pure virtual] |
Set the version identifier of the user type that is currently being written.
nVersionId | the user type identifier; must be non-negative |
coherence::lang::IllegalArgumentException | if the given version ID is negative | |
coherence::lang::IllegalStateException | if no user type is being written |
Implemented in PofBufferWriter, and UserTypeWriter.
virtual PofWriter::Handle createNestedPofWriter | ( | int32_t | iProp | ) | [pure virtual] |
Obtain a PofWriter that can be used to write a set of properties into a single property of the current user type.
The returned PofWriter is only valid from the time that it is returned until the next call is made to this PofWriter.
iProp | the property index |
coherence::lang::IllegalArgumentException | if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream | |
coherence::lang::IllegalStateException | if no user type is being written | |
coherence::io::IOException | if an I/O error occurs |
Implemented in PofBufferWriter, and UserTypeWriter.
virtual PofWriter::Handle createNestedPofWriter | ( | int32_t | iProp, | |
int32_t | nTypeId | |||
) | [pure virtual] |
Obtain a PofWriter that can be used to write a set of properties into a single property of the current user type.
The returned PofWriter is only valid from the time that it is returned until the next call is made to this PofWriter.
iProp | the property index | |
nTypeId | the type identifier of the nested property |
coherence::lang::IllegalArgumentException | if the property index is invalid, or is less than or equal to the index of the previous property written to the POF stream | |
coherence::lang::IllegalStateException | if no user type is being written | |
coherence::io::IOException | if an I/O error occurs |
Implemented in PofBufferWriter, and UserTypeWriter.
virtual void writeRemainder | ( | Binary::View | vBinProps | ) | [pure virtual] |
Write the remaining properties to the POF stream, terminating the writing of the currrent user type.
As part of writing out a user type, this method must be called by the PofSerializer that is writing out the user type, or the POF stream will be corrupted.
Calling this method terminates the current user type by writing a -1 to the POF stream after the last indexed property. Subsequent calls to the various writeXYZ
methods of this interface will fail after this method is called.
vBinProps | a buffer that contains zero or more indexed properties in binary POF encoded form; may be NULL |
coherence::lang::IllegalStateException | if no user type is being written | |
coherence::io::IOException | if an I/O error occurs |
Implemented in PofBufferWriter, and UserTypeWriter.