SourcePro® 2023.1 |
SourcePro® API Reference Guide |
Serializes one or more objects as an XML-formatted data stream and passes the stream to a supplied RWDataOutputStream. More...
#include <rw/xmlstreams/RWXmlObjectOutputStreamImp.h>
Public Member Functions | |
virtual void | endAssoc () |
virtual void | endBlock () |
virtual void | endElement () |
virtual void | endMap () |
virtual void | endMember (const RWSymbol &memberName) |
virtual void | endSequence () |
virtual bool | needToWrite (const void *obj) |
virtual void | newObjectMarker () |
virtual void | putBool (bool value) |
virtual void | putChar (char value) |
virtual void | putCharacter (char value) |
virtual void | putDouble (double value) |
virtual void | putFloat (float value) |
virtual void | putInt (int value) |
virtual void | putLong (long value) |
virtual void | putLongDouble (long double value) |
virtual void | putLongLong (long long value) |
virtual void | putShort (short value) |
virtual void | putSignedChar (signed char value) |
virtual void | putSizeT (size_t value) |
virtual void | putString (const RWCString &value) |
virtual void | putUCharacter (RWUChar value) |
virtual void | putUnsignedChar (unsigned char value) |
virtual void | putUnsignedInt (unsigned int value) |
virtual void | putUnsignedLong (unsigned long value) |
virtual void | putUnsignedLongLong (unsigned long long value) |
virtual void | putUnsignedShort (unsigned short value) |
virtual void | putUString (const RWBasicUString &value) |
virtual void | putWchar_t (wchar_t value) |
virtual void | putWCharacter (wchar_t value) |
virtual void | putWString (const RWWString &value) |
virtual void | rememberObject (const void *obj) |
virtual void | setNameForNextObject (const RWCString &str) |
virtual void | startAssocKey () |
virtual void | startAssocValue () |
virtual void | startBlock (const RWSymbol &) |
virtual void | startElement (int position) |
virtual void | startMap (int count, RWStreamType keyType, RWStreamType valueType, const RWSymbol &) |
virtual void | startSequence (int count, RWStreamType elementType, const RWSymbol &) |
virtual void | writeMemberInfo (const RWSymbol &memberName, RWStreamType memberType) |
virtual void | writeNullPtr () |
virtual void | writeObjectName () |
virtual void | writeTypeInfo (const RWSymbol &typeInfo) |
Public Member Functions inherited from RWObjectOutputStreamImp | |
virtual void | closeContext (bool writeContext=true) |
virtual void | endParent () |
virtual void | openContext (bool writeContext=true) |
virtual void | putSymbol (const RWSymbol &sym) |
virtual void | startParent (const RWSymbol &) |
Public Member Functions inherited from RWFilteredDataOutputStreamImp | |
virtual | ~RWFilteredDataOutputStreamImp () |
virtual void | close () |
virtual void | flush () |
virtual bool | isBad () const |
virtual bool | isFail () const |
virtual bool | isGood () const |
virtual void | putBools (const bool *arrayPt, RWSize count) |
virtual void | putChars (const char *arrayPt, RWSize count) |
virtual void | putDoubles (const double *arrayPt, RWSize count) |
virtual void | putFloats (const float *arrayPt, RWSize count) |
virtual void | putInts (const int *arrayPt, RWSize count) |
virtual void | putLongDoubles (const long double *arrayPt, RWSize count) |
virtual void | putLongLongs (const long long *arrayPt, RWSize count) |
virtual void | putLongs (const long *arrayPt, RWSize count) |
virtual void | putShorts (const short *arrayPt, RWSize count) |
virtual void | putSignedChars (const signed char *arrayPt, RWSize count) |
virtual void | putUnsignedChars (const unsigned char *arrayPt, RWSize count) |
virtual void | putUnsignedInts (const unsigned int *arrayPt, RWSize count) |
virtual void | putUnsignedLongLongs (const unsigned long long *arrayPt, RWSize count) |
virtual void | putUnsignedLongs (const unsigned long *arrayPt, RWSize count) |
virtual void | putUnsignedShorts (const unsigned short *arrayPt, RWSize count) |
virtual void | putWchar_ts (const wchar_t *arrayPt, RWSize count) |
Public Member Functions inherited from RWDataOutputStreamImp | |
virtual | ~RWDataOutputStreamImp () |
virtual RWDataOutputStream | acquire () |
virtual void | release () |
Public Member Functions inherited from RWOutputStreamImp | |
virtual | ~RWOutputStreamImp () |
Public Member Functions inherited from RWStreamImp | |
virtual | ~RWStreamImp () |
Static Public Member Functions | |
static RWObjectOutputStream | make (std::ostream &sink, const RWCString &rootElementType=nestedObjectTag, bool escape=true) |
static RWObjectOutputStream | make (std::ostream &sink, std::ios *&formatter, const RWCString &rootElementType=nestedObjectTag, bool escape=true) |
static RWObjectOutputStream | make (RWDataOutputStream &sink, const RWCString &rootElementType=nestedObjectTag, bool escape=true) |
Static Public Member Functions inherited from RWXmlObjectStreamCommon | |
static const char * | rwStreamToLocalStringType (RWStreamType stype) |
static const char * | rwStreamToStringType (RWStreamType stype) |
Protected Member Functions | |
RWXmlObjectOutputStreamImp (std::ostream &ostr, const RWCString &rootElementType, bool escape) | |
RWXmlObjectOutputStreamImp (std::ostream &ostr, std::ios *&formatter, const RWCString &rootElementType, bool escape) | |
RWXmlObjectOutputStreamImp (const RWDataOutputStream &ostr, const RWCString &rootElementType, bool escape) | |
virtual void | closeOuterContext (bool writeContext) |
virtual void | openOuterContext (bool writeContext) |
virtual void | putString (const char *string, RWSize count) |
virtual void | putUString (const RWUChar *ustring, RWSize count) |
virtual void | putWString (const wchar_t *wstring, RWSize count) |
Protected Member Functions inherited from RWObjectOutputStreamImp | |
RWObjectOutputStreamImp (const RWDataOutputStream &sinkStream) | |
int | getContextNestingLevel () |
Protected Member Functions inherited from RWFilteredDataOutputStreamImp | |
RWFilteredDataOutputStreamImp (const RWDataOutputStream &sinkStream) | |
RWDataOutputStream & | getSinkStream () |
const RWDataOutputStream & | getSinkStream () const |
Protected Member Functions inherited from RWDataOutputStreamImp | |
RWDataOutputStreamImp () | |
Protected Member Functions inherited from RWOutputStreamImp | |
RWOutputStreamImp () | |
Protected Member Functions inherited from RWStreamImp | |
RWStreamImp () | |
Protected Member Functions inherited from RWBodyBase | |
RWBodyBase (void) | |
RWBodyBase (RWStaticCtor) | |
RWBodyBase (const RWBodyBase &second) | |
virtual | ~RWBodyBase (void) |
RWBodyBase & | operator= (const RWBodyBase &second) |
Protected Member Functions inherited from RWTCountingBody< RWMutexLock > | |
RWTCountingBody (unsigned initCount=0) | |
RWTCountingBody (RWStaticCtor) | |
RWTCountingBody (const RWTCountingBody< RWMutexLock > &second) | |
RWTCountingBody< RWMutexLock > & | operator= (const RWTCountingBody< RWMutexLock > &second) |
~RWTCountingBody (void) | |
unsigned | addReference (void) |
unsigned | references (void) const |
unsigned | removeReference (void) |
Protected Member Functions inherited from RWTMonitor< RWMutexLock > | |
RWTMonitor () | |
RWTMonitor (RWStaticCtor) | |
RWTMonitor (const RWTMonitor< RWMutexLock > &second) | |
~RWTMonitor () | |
void | acquire () |
bool | isAcquired () const |
RWTMonitor< RWMutexLock > & | monitor () const |
RWMutexLock & | mutex () |
RWTMonitor< RWMutexLock > & | operator= (const RWTMonitor< RWMutexLock > &) |
void | release () |
bool | tryAcquire () |
Additional Inherited Members | |
Static Public Attributes inherited from RWXmlObjectStreamCommon | |
static const char * | associationTag |
static const char * | assocKeyTag |
static const char * | assocValueTag |
static const char * | elementPosAttr |
static const char * | IdAttr |
static const char * | IdRefAttr |
static const char * | mapCountAttr |
static const char * | mapKeyTypeAttr |
static const char * | mapTag |
static const char * | mapValueTypeAttr |
static const char * | memberNameAttr |
static const char * | memberTag |
static const char * | memberTypeAttr |
static const char * | nestedObjectTag |
static const char * | objectNameAttr |
static const char * | objectRefTag |
static const char * | objectRefTagLocal |
static const char * | objectTag |
static const char * | objectTypeAttr |
static const char * | primitiveTag |
static const char * | rwEncodingNamespaceValue |
static const char * | rwNamespace |
static const char * | rwNamespaceAttr |
static const char * | rwNamespaceValue |
static const char * | seqCountAttr |
static const char * | seqTypeAttr |
static const char * | sequenceElementTag |
static const char * | sequenceTag |
static const char * | xsdNamespace |
static const char * | xsdNamespaceAttr |
static const char * | xsdNamespaceValue |
static const char * | xsiNamespace |
static const char * | xsiNamespaceAttr |
static const char * | xsiNamespaceValue |
Protected Types inherited from RWTCountingBody< RWMutexLock > | |
typedef RWTLockGuard< RWTMonitor< RWMutexLock > > | LockGuard |
typedef RWTTryLockGuard< RWTMonitor< RWMutexLock > > | TryLockGuard |
typedef RWTUnlockGuard< RWTMonitor< RWMutexLock > > | UnlockGuard |
Protected Types inherited from RWTMonitor< RWMutexLock > | |
typedef RWTLockGuard< RWTMonitor< RWMutexLock > > | LockGuard |
typedef RWTTryLockGuard< RWTMonitor< RWMutexLock > > | TryLockGuard |
typedef RWTUnlockGuard< RWTMonitor< RWMutexLock > > | UnlockGuard |
Protected Attributes inherited from RWObjectOutputStreamImp | |
RWCString | nameForNextObject_ |
The class RWXmlObjectOutputStreamImp serializes one or more objects as an XML-formatted data stream and passes the stream to a supplied RWDataOutputStream.
The XML Streams Module integrates with the general Rogue Wave streams architecture defined by the streams and serialization packages of the Advanced Tools Module of SourcePro Core. This architecture allows an XML stream to be written out and read in using a wide variety of streaming configurations. For more information specific to the XML Streams Module, see the XML Streams Module User's Guide. For information on the general architecture, see the Advanced Tools Module User's Guide.
RWXmlObjectOutputStreamImp is the body class of a handle-body pattern. The corresponding handle class is RWObjectOutputStream.
The syntax of the XML formatting generated by this class is defined by the XML schema xmlstreams.xsd
. This schema is located in buildspace\rw\xmlstreams
.
|
inlineprotected |
Used by the make() function and potentially by derived classes to initialize an output stream to be used as the sink for the XML-formatted object serialization data. Use this constructor if the required output stream is a standard library ostream and pass a reference to that stream as the ostr parameter.
The parameter rootElementType must be one of the following:
int
The value passed indicates the root element of the generated document.
The parameter escape sets whether to escape XML reserved characters in the data being serialized. By setting this parameter to true
, reserved characters in char
and string
values are escaped, allowing the data to include embedded XML.
The reserved characters are:
You get slightly better performance if the escape parameter is set to false
, but before doing so be certain that your data does not contain reserved characters.
|
inlineprotected |
Used by the make() function and potentially by derived classes to initialize an output stream to be used as the sink for the XML-formatted object serialization data. Use this constructor if the required output stream is a standard library ostream and pass a reference to that stream as the ostr parameter.
The parameter rootElementType must be one of the following:
int
The value passed indicates the root element of the generated document.
The parameter escape sets whether to escape XML reserved characters in the data being serialized. By setting this parameter to true
, reserved characters in char
and string
values are escaped, allowing the data to include embedded XML.
The reserved characters are:
You get slightly better performance if the escape parameter is set to false
, but before doing so be certain that your data does not contain reserved characters.
This constructor also takes a pointer reference to an std::ios
formatting object. An empty formatting object pointer is created before the XML stream is created and is passed to this constructor through the make() function. This constructor, in creating the underlying character stream for the XML stream, creates a formatting object for the stream and places the address of that object in the pointer reference. The calling application can then use this formatting object to manipulate data formats in the XML stream. See the corresponding make() function description for an example.
|
inlineprotected |
Used by the make() function and potentially by derived classes to initialize an RWDataOutputStream stream to be used as the sink for the XML-formatted object serialization data. Use this constructor if the required output stream is a RWDataOutputStream stream and pass a reference to that stream as the ostr parameter.
The parameter rootElementType must be one of the following:
int
The value passed indicates the root element of the generated document.
The parameter escape sets whether to escape XML reserved characters in the data being serialized. By setting this parameter to true
, reserved characters in char
and string
values are escaped, allowing the data to include embedded XML.
The reserved characters are:
You get slightly better performance if the escape parameter is set to false
, but before doing so be certain that your data does not contain reserved characters.
|
protectedvirtual |
Really closes an open context. This function is called when the number of closeContext() calls matches the number of openContext() calls.
Implements RWObjectOutputStreamImp.
|
virtual |
Called by the output operators for association types after each value.
Reimplemented from RWObjectOutputStreamImp.
|
virtual |
Outputs tokens that identify the end of an object.
Implements RWObjectOutputStreamImp.
|
virtual |
Called by the output operators for collection types after each element in a sequence.
Reimplemented from RWObjectOutputStreamImp.
|
virtual |
Called by the output operators for association types after all the pairs.
Reimplemented from RWObjectOutputStreamImp.
|
virtual |
Called by streamContents() after each data member is written.
Reimplemented from RWObjectOutputStreamImp.
|
virtual |
Called by the output operators for collection types at the end of a sequence.
Reimplemented from RWObjectOutputStreamImp.
|
static |
Constructs an RWXmlObjectOutputStreamImp instance that passes the serialized object data to the output stream sink, and returns a handle to it. Use this method when the data output stream is a standard library ostream.
The parameter rootElementType must be one of the following:
int
The value passed indicates the root element of the generated document. The default setting is nestedObjectTag.
The parameter escape sets whether to escape XML reserved characters in the data being serialized. By setting this parameter to true
, reserved characters in char
and string
values are escaped, allowing the data to include embedded XML.
The reserved characters are:
You get slightly better performance if the escape parameter is set to false
, but before doing so be certain that your data does not contain reserved characters.
|
static |
Constructs an RWXmlObjectOutputStreamImp instance that passes the serialized object data to the output stream sink, and returns a handle to it. Use this method when the data output stream is a standard library ostream.
The parameter rootElementType must be one of the following:
int
The value passed indicates the root element of the generated document. The default setting is nestedObjectTag.
The parameter escape sets whether to escape XML reserved characters in the data being serialized. By setting this parameter to true
, reserved characters in char
and string
values are escaped, allowing the data to include embedded XML.
The reserved characters are:
You get slightly better performance if the escape parameter is set to false
, but before doing so be certain that your data does not contain reserved characters.
This function also takes a pointer reference to an std::ios
formatting object. An empty formatting object pointer is created before the XML stream is created and is passed through this make() function to the constructor:
The constructor, in creating the underlying character stream for the XML stream, creates a formatting object for the stream and places the address of that object in the pointer reference. The calling application can then use this formatting object to manipulate data formats in the XML stream.
|
static |
Constructs an RWXmlObjectOutputStreamImp instance that passes the serialized object data to the RWDataOutputStream stream sink, and returns a handle to it. Use this method when the data output stream is a RWDataOutputStream stream.
The parameter rootElementType must be one of the following:
int
The value passed indicates the root element of the generated document. The default setting is nestedObjectTag.
The parameter escape sets whether to escape XML reserved characters in the data being serialized. By setting this parameter to true
, reserved characters in char
and string
values are escaped, allowing the data to include embedded XML.
The reserved characters are:
You get slightly better performance if the escape parameter is set to false
, but before doing so be certain that your data does not contain reserved characters.
|
virtual |
Returns true
when the referenced object has not yet been written to the stream in the current context. Otherwise, tokens are output identifying this object as having been previously streamed, and the function returns false
.
Implements RWObjectOutputStreamImp.
|
virtual |
Output is a token indicating that an object will be created by the factory.
Implements RWObjectOutputStreamImp.
|
protectedvirtual |
Really opens a new context. This function is called by openContext() when a context is not already open.
Implements RWObjectOutputStreamImp.
|
virtual |
Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.
Reimplemented from RWFilteredDataOutputStreamImp.
|
virtual |
Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.
Reimplemented from RWFilteredDataOutputStreamImp.
|
virtual |
Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.
Reimplemented from RWFilteredDataOutputStreamImp.
|
virtual |
Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.
Reimplemented from RWFilteredDataOutputStreamImp.
|
virtual |
Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.
Reimplemented from RWFilteredDataOutputStreamImp.
|
virtual |
Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.
Reimplemented from RWFilteredDataOutputStreamImp.
|
virtual |
Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.
Reimplemented from RWFilteredDataOutputStreamImp.
|
virtual |
Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.
Reimplemented from RWFilteredDataOutputStreamImp.
|
virtual |
Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.
Reimplemented from RWFilteredDataOutputStreamImp.
|
virtual |
Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.
Reimplemented from RWFilteredDataOutputStreamImp.
|
virtual |
Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.
Reimplemented from RWFilteredDataOutputStreamImp.
|
virtual |
Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.
Reimplemented from RWFilteredDataOutputStreamImp.
|
virtual |
Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.
Implements RWObjectOutputStreamImp.
|
inlineprotectedvirtual |
Forwards the writing of a narrow character string, including embedded nulls, starting at string to the next processing stream.
string | A pointer to the narrow string's first character. |
count | The number of narrow character(s) to be written to the stream. |
Reimplemented from RWObjectOutputStreamImp.
|
virtual |
Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.
Reimplemented from RWFilteredDataOutputStreamImp.
|
virtual |
Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.
Reimplemented from RWFilteredDataOutputStreamImp.
|
virtual |
Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.
Reimplemented from RWFilteredDataOutputStreamImp.
|
virtual |
Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.
Reimplemented from RWFilteredDataOutputStreamImp.
|
virtual |
Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.
Reimplemented from RWFilteredDataOutputStreamImp.
|
virtual |
Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.
Reimplemented from RWFilteredDataOutputStreamImp.
|
virtual |
Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.
Implements RWObjectOutputStreamImp.
|
inlineprotectedvirtual |
Forwards the writing of a UTF-16 character string, including embedded nulls, starting at ustring to the next processing stream.
ustring | A pointer to the string's first unicode character. |
count | The number of unicode character(s) to be written to the stream. |
Reimplemented from RWObjectOutputStreamImp.
|
virtual |
Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.
Reimplemented from RWFilteredDataOutputStreamImp.
|
virtual |
Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.
Reimplemented from RWFilteredDataOutputStreamImp.
|
virtual |
Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.
Implements RWObjectOutputStreamImp.
|
inlineprotectedvirtual |
Forwards the writing of a wide character string, including embedded nulls, starting at wstring to the next processing stream.
wstring | A pointer to the string's first wide character. |
count | The number of wide character(s) to be written to the stream. |
Reimplemented from RWObjectOutputStreamImp.
|
virtual |
Called by streaming operators to record each instance streamed out, in case it is referenced again in the same context.
obj | Holds the address of the instance. |
Implements RWObjectOutputStreamImp.
|
virtual |
Sets up the instance name for the next object to be written out.
Implements RWObjectOutputStreamImp.
|
virtual |
Called by the output operators for association types before each key.
Reimplemented from RWObjectOutputStreamImp.
|
virtual |
Called by the output operators for association types after each key and before each value.
Reimplemented from RWObjectOutputStreamImp.
|
virtual |
Outputs tokens that identify the start of a new object.
typeInfo | Identifies the type of the new object, if such information is available. |
Implements RWObjectOutputStreamImp.
|
virtual |
Called by the output operators for collection types before each element in a sequence.
Reimplemented from RWObjectOutputStreamImp.
|
virtual |
Called by the output operators for association types (hash tables, etc.) at the start.
count | Contains the number of items in the association. |
keyType | Contains the type of key in the association. |
valueType | Contains the type of value in the association. |
typeInfo | Contains the type of the association (collection) itself. |
Implements RWObjectOutputStreamImp.
|
virtual |
Called by the output operators for collection types at the start of a sequence.
count | Contains the number of items in the collection. |
elementType | Contains the type of element in the collection. |
typeInfo | Contains the type of the collection itself. |
Implements RWObjectOutputStreamImp.
|
virtual |
Called for before each data member by the streamContents() function. Metadata about the field may or may not be written to the stream, depending on the implementation. This function returns true
if data is actually written out. Otherwise, it returns false
.
memberName | Identifies the name of the member. |
memberType | Identifies the type of the member. |
Implements RWObjectOutputStreamImp.
|
virtual |
Output is a token representing a null pointer.
Implements RWObjectOutputStreamImp.
|
virtual |
Writes the object name to the stream.
|
virtual |
Outputs the type information required to factory an object of the correct dynamic type (derived class) on input.
typeInfo | Identifies the type of the new object, if such information is available. |
Implements RWObjectOutputStreamImp.
Copyright © 2023 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved. |