xmltooling 3.2.4

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:
[legend]

## 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.
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
static XMLObject * | buildOneFromElement (xercesc::DOMElement *element, bool bindDocument=false)
| Creates an unmarshalled XMLObject using the default build method, if a builder can be found.
static const XMLObjectBuilder * | getBuilder (const QName &key)
| Retrieves an XMLObjectBuilder using the key it was registered with.
static const XMLObjectBuilder * | getBuilder (const xercesc::DOMElement *element)
| Retrieves an XMLObjectBuilder for a given DOM element.
static const XMLObjectBuilder * | getDefaultBuilder ()
| 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

## ◆ buildFromDocument()

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

## ◆ buildFromElement()

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

## ◆ buildFromQName()

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

## ◆ buildObject()

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, xmltooling::ConcreteXMLObjectBuilder, and xmltooling::UnknownElementBuilder.

## ◆ buildOneFromElement()

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

## ◆ deregisterBuilder()

static void xmltooling::XMLObjectBuilder::deregisterBuilder | ( | const QName & | builderKey | ) |
| static

Deregisters a builder.

Parameters

  builderKey | the key for the builder to be deregistered

## ◆ getBuilder() [1/2]

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

## ◆ getBuilder() [2/2]

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

## ◆ getBuilders()

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

## ◆ getDefaultBuilder()

static const XMLObjectBuilder * xmltooling::XMLObjectBuilder::getDefaultBuilder | ( |  | ) |
| static

Retrieves the default XMLObjectBuilder for DOM elements.

Returns
  the default builder or nullptr

## ◆ registerBuilder()

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

## ◆ registerDefaultBuilder()

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