Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

xmltooling::XMLObjectBuilder Class Reference

A factory interface for obtaining XMLObjects. More...

#include <xmltooling/XMLObjectBuilder.h>

Inheritance diagram for xmltooling::XMLObjectBuilder:

xmlsignature::SignatureBuilder xmltooling::AnyElementBuilder 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 XMLObject * buildObject (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.
XMLObject * buildFromQName (const QName &q) const
 Creates an empty XMLObject with a particular element name.
XMLObject * buildFromElement (xercesc::DOMElement *element, bool bindDocument=false) const
 Creates an unmarshalled XMLObject from a DOM Element.
XMLObject * buildFromDocument (xercesc::DOMDocument *doc, bool bindDocument=true) const
 Creates an unmarshalled XMLObject from the root of a DOM Document.

Static Public Member Functions

XMLObject * buildOneFromElement (xercesc::DOMElement *element, bool bindDocument=false)
 Creates an unmarshalled XMLObject using the default build method, if a builder can be found.
const XMLObjectBuilder * getBuilder (const QName &key)
 Retrieves an XMLObjectBuilder using the key it was registered with.
const XMLObjectBuilder * getBuilder (const xercesc::DOMElement *element)
 Retrieves an XMLObjectBuilder for a given DOM element.
const XMLObjectBuilder * getDefaultBuilder ()
 Retrieves the default XMLObjectBuilder for DOM elements.
const std::map< QName, XMLObjectBuilder * > & getBuilders ()
 Gets an immutable list of all the builders currently registered.
void registerBuilder (const QName &builderKey, XMLObjectBuilder *builder)
 Registers a new builder for the given key.
void registerDefaultBuilder (XMLObjectBuilder *builder)
 Registers a default builder.
void deregisterBuilder (const QName &builderKey)
 Deregisters a builder.
void deregisterDefaultBuilder ()
 Deregisters default builder.
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 xmltooling::AnyElementBuilder, and xmltooling::UnknownElementBuilder.

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

void xmltooling::XMLObjectBuilder::deregisterBuilder (  const QName &  builderKey  )  [inline, static]
 

Deregisters a builder.

Parameters:
builderKey the key for the builder to be deregistered

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

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

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

const XMLObjectBuilder* xmltooling::XMLObjectBuilder::getDefaultBuilder (   )  [inline, static]
 

Retrieves the default XMLObjectBuilder for DOM elements.

Returns:
the default builder or NULL

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

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 Jun 22 13:37:20 2009 for xmltooling by  doxygen 1.3.9.1