xmltooling::XMLObjectBuilder Class Reference

A factory interface for obtaining XMLObjects. More...

#include <xmltooling/XMLObjectBuilder.h>

Inheritance diagram for xmltooling::XMLObjectBuilder:

xmlsignature::SignatureBuilder 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::OAEPparamsBuilder xmlencryption::ReferenceListBuilder xmlencryption::TransformsBuilder xmlsignature::DSAKeyValueBuilder xmlsignature::ExponentBuilder xmlsignature::GBuilder xmlsignature::JBuilder xmlsignature::KeyInfoBuilder xmlsignature::KeyNameBuilder xmlsignature::KeyValueBuilder xmlsignature::MgmtDataBuilder xmlsignature::ModulusBuilder xmlsignature::PBuilder xmlsignature::PgenCounterBuilder xmlsignature::PGPDataBuilder xmlsignature::PGPKeyIDBuilder xmlsignature::PGPKeyPacketBuilder xmlsignature::QBuilder xmlsignature::RetrievalMethodBuilder xmlsignature::RSAKeyValueBuilder xmlsignature::SeedBuilder xmlsignature::SPKIDataBuilder xmlsignature::SPKISexpBuilder xmlsignature::TransformBuilder xmlsignature::TransformsBuilder xmlsignature::X509CertificateBuilder xmlsignature::X509CRLBuilder xmlsignature::X509DataBuilder 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=NULL, const QName *schemaType=NULL) 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 XMLObjects.

Subclasses MAY supply additional factory methods.


Member Function Documentation

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

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

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 [inline]

Creates an unmarshalled XMLObject from a DOM Element.

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 [inline]

Creates an empty XMLObject with a particular element name.

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 = NULL,
const QName schemaType = NULL 
) const [pure virtual]

Creates an empty XMLObject with a particular element name.

The results are undefined if localName is NULL or empty.

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, 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::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 
) [inline, static]

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

Parameters:
element the unmarshalling source
bindDocument true iff the new XMLObject should take ownership of the DOM Document
Returns:
the unmarshalled object or NULL if no builder is available

static void xmltooling::XMLObjectBuilder::deregisterBuilder ( const QName builderKey  )  [inline, 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 NULL

static const XMLObjectBuilder* xmltooling::XMLObjectBuilder::getBuilder ( const QName key  )  [inline, static]

Retrieves an XMLObjectBuilder using the key it was registered with.

Parameters:
key the key used to register the builder
Returns:
the builder or NULL

static const std::map<QName,XMLObjectBuilder*>& xmltooling::XMLObjectBuilder::getBuilders (  )  [inline, 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 (  )  [inline, static]

Retrieves the default XMLObjectBuilder for DOM elements.

Returns:
the default builder or NULL

static void xmltooling::XMLObjectBuilder::registerBuilder ( const QName builderKey,
XMLObjectBuilder builder 
) [inline, 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  )  [inline, static]

Registers a default builder.

Parameters:
builder the default builder


The documentation for this class was generated from the following file:
Generated on Mon Oct 19 14:18:35 2009 for xmltooling by  doxygen 1.4.7