xmltooling::XMLObjectBuilder Class Reference

A factory interface for obtaining an XMLObject. More...

#include <xmltooling/XMLObjectBuilder.h>

Inheritance diagram for xmltooling::XMLObjectBuilder:
xmltooling::ConcreteXMLObjectBuilder xmltooling::UnknownElementBuilder soap11::BodyBuilder soap11::DetailBuilder soap11::EnvelopeBuilder soap11::FaultactorBuilder soap11::FaultBuilder soap11::FaultcodeBuilder soap11::FaultstringBuilder soap11::HeaderBuilder xmlencryption::CarriedKeyNameBuilder xmlencryption::CipherDataBuilder xmlencryption::CipherReferenceBuilder xmlencryption::CipherValueBuilder xmlencryption::DataReferenceBuilder xmlencryption::EncryptedDataBuilder xmlencryption::EncryptedKeyBuilder xmlencryption::EncryptionMethodBuilder xmlencryption::EncryptionPropertiesBuilder xmlencryption::EncryptionPropertyBuilder xmlencryption::KeyReferenceBuilder xmlencryption::KeySizeBuilder xmlencryption::MGFBuilder xmlencryption::OAEPparamsBuilder xmlencryption::ReferenceListBuilder xmlencryption::TransformsBuilder xmlsignature::DEREncodedKeyValueBuilder xmlsignature::DSAKeyValueBuilder xmlsignature::ECKeyValueBuilder xmlsignature::ExponentBuilder xmlsignature::GBuilder xmlsignature::JBuilder xmlsignature::KeyInfoBuilder xmlsignature::KeyInfoReferenceBuilder xmlsignature::KeyNameBuilder xmlsignature::KeyValueBuilder xmlsignature::MgmtDataBuilder xmlsignature::ModulusBuilder xmlsignature::NamedCurveBuilder xmlsignature::OCSPResponseBuilder xmlsignature::PBuilder xmlsignature::PgenCounterBuilder xmlsignature::PGPDataBuilder xmlsignature::PGPKeyIDBuilder xmlsignature::PGPKeyPacketBuilder xmlsignature::PublicKeyBuilder xmlsignature::QBuilder xmlsignature::RetrievalMethodBuilder xmlsignature::RSAKeyValueBuilder xmlsignature::SeedBuilder xmlsignature::SignatureBuilder xmlsignature::SPKIDataBuilder xmlsignature::SPKISexpBuilder xmlsignature::TransformBuilder xmlsignature::TransformsBuilder xmlsignature::X509CertificateBuilder xmlsignature::X509CRLBuilder xmlsignature::X509DataBuilder xmlsignature::X509DigestBuilder xmlsignature::X509IssuerNameBuilder xmlsignature::X509IssuerSerialBuilder xmlsignature::X509SerialNumberBuilder xmlsignature::X509SKIBuilder xmlsignature::X509SubjectNameBuilder xmlsignature::XPathBuilder xmlsignature::YBuilder

List of all members.

Public Member Functions

virtual XMLObjectbuildObject (const XMLCh *nsURI, const XMLCh *localName, const XMLCh *prefix=0, const QName *schemaType=0) const =0
 Creates an empty XMLObject with a particular element name.
XMLObjectbuildFromQName (const QName &q) const
 Creates an empty XMLObject with a particular element name.
XMLObjectbuildFromElement (xercesc::DOMElement *element, bool bindDocument=false) const
 Creates an unmarshalled XMLObject from a DOM Element.
XMLObjectbuildFromDocument (xercesc::DOMDocument *doc, bool bindDocument=true) const
 Creates an unmarshalled XMLObject from the root of a DOM Document.

Static Public Member Functions

static XMLObjectbuildOneFromElement (xercesc::DOMElement *element, bool bindDocument=false)
 Creates an unmarshalled XMLObject using the default build method, if a builder can be found.
static const XMLObjectBuildergetBuilder (const QName &key)
 Retrieves an XMLObjectBuilder using the key it was registered with.
static const XMLObjectBuildergetBuilder (const xercesc::DOMElement *element)
 Retrieves an XMLObjectBuilder for a given DOM element.
static const XMLObjectBuildergetDefaultBuilder ()
 Retrieves the default XMLObjectBuilder for DOM elements.
static const std::map< QName,
XMLObjectBuilder * > & 
getBuilders ()
 Gets an immutable list of all the builders currently registered.
static void registerBuilder (const QName &builderKey, XMLObjectBuilder *builder)
 Registers a new builder for the given key.
static void registerDefaultBuilder (XMLObjectBuilder *builder)
 Registers a default builder.
static void deregisterBuilder (const QName &builderKey)
 Deregisters a builder.
static void deregisterDefaultBuilder ()
 Deregisters default builder.
static void destroyBuilders ()
 Unregisters and destroys all registered builders.

Detailed Description

A factory interface for obtaining an XMLObject.


Member Function Documentation

XMLObject* xmltooling::XMLObjectBuilder::buildFromDocument ( xercesc::DOMDocument *  doc,
bool  bindDocument = true 
) const

Creates an unmarshalled XMLObject from the root of a DOM Document.

The caller is responsible for freeing the resulting object.

Parameters:
doc the unmarshalling source
bindDocument true iff the XMLObject should take ownership of the DOM Document
Returns:
the unmarshalled XMLObject
XMLObject* xmltooling::XMLObjectBuilder::buildFromElement ( xercesc::DOMElement *  element,
bool  bindDocument = false 
) const

Creates an unmarshalled XMLObject from a DOM Element.

The caller is responsible for freeing the resulting object.

Parameters:
element the unmarshalling source
bindDocument true iff the XMLObject should take ownership of the DOM Document
Returns:
the unmarshalled XMLObject
XMLObject* xmltooling::XMLObjectBuilder::buildFromQName ( const QName q  )  const

Creates an empty XMLObject with a particular element name.

The caller is responsible for freeing the resulting object.

Parameters:
q QName of element for object
Returns:
the empty XMLObject
virtual XMLObject* xmltooling::XMLObjectBuilder::buildObject ( const XMLCh *  nsURI,
const XMLCh *  localName,
const XMLCh *  prefix = 0,
const QName schemaType = 0 
) const [pure virtual]

Creates an empty XMLObject with a particular element name.

The results are undefined if localName is nullptr or empty.

The caller is responsible for freeing the resulting object.

Parameters:
nsURI namespace URI for element
localName local name of element
prefix prefix of element name
schemaType xsi:type of the object
Returns:
the empty XMLObject

Implemented in xmlencryption::CarriedKeyNameBuilder, xmlencryption::CipherDataBuilder, xmlencryption::CipherReferenceBuilder, xmlencryption::CipherValueBuilder, xmlencryption::DataReferenceBuilder, xmlencryption::EncryptedDataBuilder, xmlencryption::EncryptedKeyBuilder, xmlencryption::EncryptionMethodBuilder, xmlencryption::EncryptionPropertiesBuilder, xmlencryption::EncryptionPropertyBuilder, xmlencryption::KeyReferenceBuilder, xmlencryption::KeySizeBuilder, xmlencryption::OAEPparamsBuilder, xmlencryption::ReferenceListBuilder, xmlencryption::TransformsBuilder, xmlencryption::MGFBuilder, xmltooling::UnknownElementBuilder, xmlsignature::PGPDataBuilder, xmlsignature::PGPKeyIDBuilder, xmlsignature::PGPKeyPacketBuilder, xmlsignature::SPKIDataBuilder, xmlsignature::SPKISexpBuilder, xmlsignature::X509IssuerSerialBuilder, xmlsignature::X509IssuerNameBuilder, xmlsignature::X509SerialNumberBuilder, xmlsignature::X509SKIBuilder, xmlsignature::X509SubjectNameBuilder, xmlsignature::X509CertificateBuilder, xmlsignature::X509CRLBuilder, xmlsignature::X509DataBuilder, xmlsignature::XPathBuilder, xmlsignature::TransformBuilder, xmlsignature::TransformsBuilder, xmlsignature::RetrievalMethodBuilder, xmlsignature::KeyNameBuilder, xmlsignature::MgmtDataBuilder, xmlsignature::ModulusBuilder, xmlsignature::ExponentBuilder, xmlsignature::SeedBuilder, xmlsignature::PgenCounterBuilder, xmlsignature::PBuilder, xmlsignature::QBuilder, xmlsignature::GBuilder, xmlsignature::YBuilder, xmlsignature::JBuilder, xmlsignature::DSAKeyValueBuilder, xmlsignature::RSAKeyValueBuilder, xmlsignature::KeyValueBuilder, xmlsignature::KeyInfoBuilder, xmlsignature::DEREncodedKeyValueBuilder, xmlsignature::ECKeyValueBuilder, xmlsignature::KeyInfoReferenceBuilder, xmlsignature::NamedCurveBuilder, xmlsignature::OCSPResponseBuilder, xmlsignature::PublicKeyBuilder, xmlsignature::X509DigestBuilder, xmlsignature::SignatureBuilder, soap11::BodyBuilder, soap11::EnvelopeBuilder, soap11::FaultBuilder, soap11::HeaderBuilder, soap11::DetailBuilder, soap11::FaultactorBuilder, soap11::FaultcodeBuilder, and soap11::FaultstringBuilder.

static XMLObject* xmltooling::XMLObjectBuilder::buildOneFromElement ( xercesc::DOMElement *  element,
bool  bindDocument = false 
) [static]

Creates an unmarshalled XMLObject using the default build method, if a builder can be found.

The caller is responsible for freeing the resulting object.

Parameters:
element the unmarshalling source
bindDocument true iff the new XMLObject should take ownership of the DOM Document
Returns:
the unmarshalled object or nullptr if no builder is available
static void xmltooling::XMLObjectBuilder::deregisterBuilder ( const QName builderKey  )  [static]

Deregisters a builder.

Parameters:
builderKey the key for the builder to be deregistered
static const XMLObjectBuilder* xmltooling::XMLObjectBuilder::getBuilder ( const xercesc::DOMElement *  element  )  [static]

Retrieves an XMLObjectBuilder for a given DOM element.

If no match is found, the default builder is returned, if any.

Parameters:
element the element for which to locate a builder
Returns:
the builder or nullptr
static const XMLObjectBuilder* xmltooling::XMLObjectBuilder::getBuilder ( const QName key  )  [static]

Retrieves an XMLObjectBuilder using the key it was registered with.

Parameters:
key the key used to register the builder
Returns:
the builder or nullptr
static const std::map<QName,XMLObjectBuilder*>& xmltooling::XMLObjectBuilder::getBuilders (  )  [static]

Gets an immutable list of all the builders currently registered.

Returns:
list of all the builders currently registered
static const XMLObjectBuilder* xmltooling::XMLObjectBuilder::getDefaultBuilder (  )  [static]

Retrieves the default XMLObjectBuilder for DOM elements.

Returns:
the default builder or nullptr
static void xmltooling::XMLObjectBuilder::registerBuilder ( const QName builderKey,
XMLObjectBuilder builder 
) [static]

Registers a new builder for the given key.

Parameters:
builderKey the key used to retrieve this builder later
builder the builder
static void xmltooling::XMLObjectBuilder::registerDefaultBuilder ( XMLObjectBuilder builder  )  [static]

Registers a default builder.

Parameters:
builder the default builder

The documentation for this class was generated from the following file:

Generated on 24 Jan 2020 for xmltooling by  doxygen 1.6.1