xmltooling::AbstractXMLObjectMarshaller Class Reference
A mix-in to implement object marshalling with DOM reuse.
More...
#include <xmltooling/io/AbstractXMLObjectMarshaller.h>
List of all members.
Public Member Functions |
xercesc::DOMElement * | marshall (xercesc::DOMDocument *document=0, const std::vector< xmlsignature::Signature * > *sigs=0, const Credential *credential=0) const |
| Marshalls the XMLObject, and its children, into a DOM element.
|
xercesc::DOMElement * | marshall (xercesc::DOMElement *parentElement, const std::vector< xmlsignature::Signature * > *sigs=0, const Credential *credential=0) const |
| Marshalls the XMLObject and appends it as a child of the given parent element.
|
Protected Member Functions |
void | setDocumentElement (xercesc::DOMDocument *document, xercesc::DOMElement *element) const |
| Sets the given element as the Document Element of the given Document.
|
void | marshallInto (xercesc::DOMElement *targetElement, const std::vector< xmlsignature::Signature * > *sigs, const Credential *credential=0) const |
| Marshalls the XMLObject into the given DOM Element.
|
void | marshallElementType (xercesc::DOMElement *domElement) const |
| Creates an xsi:type attribute, corresponding to the given type of the XMLObject, on the DOM element.
|
void | marshallNamespaces (xercesc::DOMElement *domElement) const |
| Creates the xmlns attributes for any namespaces set on the XMLObject.
|
void | marshallContent (xercesc::DOMElement *domElement, const Credential *credential) const |
| Marshalls the text content and/or child elements of the XMLObject.
|
virtual void | marshallAttributes (xercesc::DOMElement *domElement) const |
| Marshalls the attributes from the XMLObject into the given DOM element.
|
virtual void | prepareForMarshalling () const |
| Called before marshalling in the event that a new DOM is being generated.
|
Detailed Description
A mix-in to implement object marshalling with DOM reuse.
Member Function Documentation
xercesc::DOMElement* xmltooling::AbstractXMLObjectMarshaller::marshall |
( |
xercesc::DOMElement * |
parentElement, |
|
|
const std::vector< xmlsignature::Signature * > * |
sigs = 0 , |
|
|
const Credential * |
credential = 0 | |
|
) |
| | const [virtual] |
Marshalls the XMLObject and appends it as a child of the given parent element.
NOTE: The given Element must be within a DOM tree rooted in the Document owning the given Element.
- Parameters:
-
| parentElement | the parent element to append the resulting DOM tree |
| sigs | ordered array of signatures to create after marshalling is complete |
| credential | optional credential to supply signing key and related info |
- Returns:
- the marshalled element tree
- Exceptions:
-
| MarshallingException | thrown if the given XMLObject can not be marshalled. |
| SignatureException | thrown if a problem occurs during signature creation |
Implements xmltooling::XMLObject.
xercesc::DOMElement* xmltooling::AbstractXMLObjectMarshaller::marshall |
( |
xercesc::DOMDocument * |
document = 0 , |
|
|
const std::vector< xmlsignature::Signature * > * |
sigs = 0 , |
|
|
const Credential * |
credential = 0 | |
|
) |
| | const [virtual] |
Marshalls the XMLObject, and its children, into a DOM element.
If a document is supplied, then it will be used to create the resulting elements. If the document does not have a Document Element set, then the resulting element will be set as the Document Element. If no document is supplied, then a new document will be created and bound to the lifetime of the root object being marshalled, unless an existing DOM can be reused without creating a new document.
- Parameters:
-
| document | the DOM document the marshalled element will be placed in, or nullptr |
| sigs | ordered array of signatures to create after marshalling is complete |
| credential | optional credential to supply signing key and related info |
- Returns:
- the DOM element representing this XMLObject
- Exceptions:
-
| MarshallingException | thrown if there is a problem marshalling the given object |
| SignatureException | thrown if a problem occurs during signature creation |
Implements xmltooling::XMLObject.
virtual void xmltooling::AbstractXMLObjectMarshaller::marshallAttributes |
( |
xercesc::DOMElement * |
domElement |
) |
const [protected, virtual] |
Marshalls the attributes from the XMLObject into the given DOM element.
- Parameters:
-
| domElement | the DOM Element into which attributes will be marshalled |
- Exceptions:
-
void xmltooling::AbstractXMLObjectMarshaller::marshallContent |
( |
xercesc::DOMElement * |
domElement, |
|
|
const Credential * |
credential | |
|
) |
| | const [protected] |
Marshalls the text content and/or child elements of the XMLObject.
- Parameters:
-
| domElement | the DOM element that will recieved the marshalled children |
| credential | optional credential to supply signing key and related info |
- Exceptions:
-
void xmltooling::AbstractXMLObjectMarshaller::marshallElementType |
( |
xercesc::DOMElement * |
domElement |
) |
const [protected] |
Creates an xsi:type attribute, corresponding to the given type of the XMLObject, on the DOM element.
- Parameters:
-
| domElement | the DOM element |
- Exceptions:
-
void xmltooling::AbstractXMLObjectMarshaller::marshallInto |
( |
xercesc::DOMElement * |
targetElement, |
|
|
const std::vector< xmlsignature::Signature * > * |
sigs, |
|
|
const Credential * |
credential = 0 | |
|
) |
| | const [protected] |
Marshalls the XMLObject into the given DOM Element.
The DOM Element must be within a DOM tree rooted in the owning Document.
- Parameters:
-
| targetElement | the Element into which the XMLObject is marshalled into |
| sigs | optional array of signatures to create after marshalling |
| credential | optional credential to supply signing key and related info |
- Exceptions:
-
| MarshallingException | thrown if there is a problem marshalling the object |
| SignatureException | thrown if a problem occurs during signature creation |
void xmltooling::AbstractXMLObjectMarshaller::marshallNamespaces |
( |
xercesc::DOMElement * |
domElement |
) |
const [protected] |
Creates the xmlns attributes for any namespaces set on the XMLObject.
- Parameters:
-
| domElement | the DOM element the namespaces will be added to |
virtual void xmltooling::AbstractXMLObjectMarshaller::prepareForMarshalling |
( |
|
) |
const [protected, virtual] |
Called before marshalling in the event that a new DOM is being generated.
Allows objects to adjust internal state prior to the marshalling step.
void xmltooling::AbstractXMLObjectMarshaller::setDocumentElement |
( |
xercesc::DOMDocument * |
document, |
|
|
xercesc::DOMElement * |
element | |
|
) |
| | const [protected] |
Sets the given element as the Document Element of the given Document.
If the document already has a Document Element it is replaced by the given element.
- Parameters:
-
| document | the document |
| element | the Element that will serve as the Document Element |
The documentation for this class was generated from the following file: