xmltooling 1.5.6

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Static Public Member Functions | List of all members
xmltooling::XMLObjectBuilder Class Referenceabstract

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

`#include <xmltooling/XMLObjectBuilder.h>`

Inheritance diagram for xmltooling::XMLObjectBuilder:

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

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

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 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 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 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:

- xmltooling/XMLObjectBuilder.h