te::xerces::WriterFactory Class Reference

This is the concrete factory for XML writer built on top of Xerces-C++ parser. More...

#include <WriterFactory.h>

Inheritance diagram for te::xerces::WriterFactory:
te::xml::AbstractWriterFactory te::common::AbstractFactory< te::xml::AbstractWriter, std::string >

Public Types

typedef FactoryDictionary< AbstractFactory< te::xml::AbstractWriter, std::string, std::less< std::string > >, std::string, std::less< std::string > > dictionary_type
 
typedef AbstractFactory factory_type
 

Public Member Functions

const std::string & getKey () const
 It returns the factory key associated to the concreate factory. More...
 
 ~WriterFactory ()
 

Static Public Member Functions

static void finalize ()
 It finalizes the factory: it will be destroyed and will be unregistered from the abstract factory WriterFactory. More...
 
static const factory_typefind (const std::string &factoryKey)
 
static dictionary_typegetDictionary ()
 It returns a reference to the internal dictionary of concrete factories. More...
 
static void initialize ()
 It initializes the factory: it will be registered in the abstract factory WriterFactory. More...
 
static te::xml::AbstractWritermake ()
 It creates a new XML writer using the dafault implementation. More...
 
static te::xml::AbstractWritermake (const std::string &factoryKey)
 It creates an object with the appropriated factory. More...
 
static te::xml::AbstractWritermake (const std::string &writerType)
 It creates a new XML writer. More...
 
static void setDefaultWriter (const std::string &writerType)
 It sets the default driver used to create the XML writer objects. More...
 

Protected Member Functions

te::xml::AbstractWriterbuild ()
 Concrete factories (derived from this one) must implement this method in order to create objects. More...
 
 WriterFactory ()
 

Protected Attributes

std::string m_factoryKey
 The key that identifies the concrete factory: it will be used for unregistering the factory during destruction. More...
 

Static Private Attributes

static std::string sm_defaultWriterType
 The type of the writer to be created if no type is informed. More...
 
static WriterFactorysm_factory
 A pointer to the global Xerces XML Writer factory. More...
 

Friends

class Module
 

Detailed Description

This is the concrete factory for XML writer built on top of Xerces-C++ parser.

See also
te::xml::AbstractWriter, te::xml::AbstractWriterFactory

Definition at line 47 of file WriterFactory.h.

Member Typedef Documentation

◆ dictionary_type

typedef FactoryDictionary<AbstractFactory<te::xml::AbstractWriter , std::string , std::less<std::string > >, std::string , std::less<std::string > > te::common::AbstractFactory< te::xml::AbstractWriter , std::string , std::less<std::string > >::dictionary_type
inherited

Definition at line 73 of file AbstractFactory.h.

◆ factory_type

typedef AbstractFactory te::common::AbstractFactory< te::xml::AbstractWriter , std::string , std::less<std::string > >::factory_type
inherited

Definition at line 77 of file AbstractFactory.h.

Constructor & Destructor Documentation

◆ ~WriterFactory()

te::xerces::WriterFactory::~WriterFactory ( )

◆ WriterFactory()

te::xerces::WriterFactory::WriterFactory ( )
protected

Member Function Documentation

◆ build()

te::xml::AbstractWriter* te::xerces::WriterFactory::build ( )
protectedvirtual

Concrete factories (derived from this one) must implement this method in order to create objects.

Returns
It returns an object created by the concrete factory.

Implements te::common::AbstractFactory< te::xml::AbstractWriter, std::string >.

◆ finalize()

static void te::xerces::WriterFactory::finalize ( )
static

It finalizes the factory: it will be destroyed and will be unregistered from the abstract factory WriterFactory.

◆ find()

const AbstractFactory< te::xml::AbstractWriter , std::string , std::less<std::string > >::factory_type * te::common::AbstractFactory< te::xml::AbstractWriter , std::string , std::less<std::string > >::find ( const std::string &  factoryKey)
inlinestaticinherited

Definition at line 108 of file AbstractFactory.h.

◆ getDictionary()

AbstractFactory< te::xml::AbstractWriter , std::string , std::less<std::string > >::dictionary_type & te::common::AbstractFactory< te::xml::AbstractWriter , std::string , std::less<std::string > >::getDictionary
inlinestaticinherited

It returns a reference to the internal dictionary of concrete factories.

The dictionary is a singleton.

Returns
A reference to the internal dictionary.

Definition at line 106 of file AbstractFactory.h.

◆ getKey()

const std::string & te::common::AbstractFactory< te::xml::AbstractWriter , std::string , std::less<std::string > >::getKey
inlineinherited

It returns the factory key associated to the concreate factory.

Returns
The factory key associated to the concreate factory.

Definition at line 84 of file AbstractFactory.h.

◆ initialize()

static void te::xerces::WriterFactory::initialize ( )
static

It initializes the factory: it will be registered in the abstract factory WriterFactory.

◆ make() [1/3]

static te::xml::AbstractWriter* te::xml::AbstractWriterFactory::make ( )
staticinherited

It creates a new XML writer using the dafault implementation.

Returns
A new XML writer using the dafault implementation.

◆ make() [2/3]

te::xml::AbstractWriter * te::common::AbstractFactory< te::xml::AbstractWriter , std::string , std::less<std::string > >::make ( const std::string &  factoryKey)
inlinestaticinherited

It creates an object with the appropriated factory.

Parameters
factoryKeyA key that identifies the factory used to build the object.
Returns
It returns a new object created by the given factory.
Exceptions
ExceptionIf the concrete factory is not specified or the object can not be built for any reason this methiod may throws an exception.
Note
The caller of this method will take the ownership of the returned object.

Definition at line 97 of file AbstractFactory.h.

◆ make() [3/3]

static te::xml::AbstractWriter* te::xml::AbstractWriterFactory::make ( const std::string &  writerType)
staticinherited

It creates a new XML writer.

Parameters
writerTypeThe type of XML writer to be created.
Returns
A new XML writer.

◆ setDefaultWriter()

static void te::xml::AbstractWriterFactory::setDefaultWriter ( const std::string &  writerType)
staticinherited

It sets the default driver used to create the XML writer objects.

Parameters
writerTypeThe default driver name for creating XML writer objects.

Friends And Related Function Documentation

◆ Module

friend class Module
friend

Definition at line 70 of file WriterFactory.h.

Member Data Documentation

◆ m_factoryKey

std::string te::common::AbstractFactory< te::xml::AbstractWriter , std::string , std::less<std::string > >::m_factoryKey
protectedinherited

The key that identifies the concrete factory: it will be used for unregistering the factory during destruction.

Definition at line 136 of file AbstractFactory.h.

◆ sm_defaultWriterType

std::string te::xml::AbstractWriterFactory::sm_defaultWriterType
staticprivateinherited

The type of the writer to be created if no type is informed.

Definition at line 111 of file AbstractWriterFactory.h.

◆ sm_factory

WriterFactory* te::xerces::WriterFactory::sm_factory
staticprivate

A pointer to the global Xerces XML Writer factory.

Definition at line 68 of file WriterFactory.h.


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