This Singleton class maintains a list of plotters. More...
#include <PlotterFactory.h>
Public Member Functions | |
void | add (PlotterBase *) |
Adds a prototype object to the list of prototypes. | |
PlotterBase * | create (const std::string &name) |
Creates a new object from a prototype named name. | |
bool | exists (const std::string &name) const |
Returns true if prototype with name name exists in the factory, otherwise returns false. | |
const std::vector< std::string > & | names () const |
Returns the list of available prototype names. | |
PlotterBase * | prototype (const std::string &name) const |
Returns a pointer to a prototype with name name. | |
void | remove (const std::string &name) |
Removes the named prototype object from the list of prototypes. |
Static Public Member Functions | |
static PlotterFactory * | instance () |
Returns the pointer to the singleton instance. |
Protected Attributes | |
std::vector< std::string > | m_names |
The list of available types by names. | |
std::map< std::string, PlotterBase * > | m_types |
A list of available types. |
Private Member Functions | |
void | initialize () |
Initializes the factory with a set of default Plotters. | |
PlotterFactory (const PlotterFactory &) | |
A private copy constructor to avoid copying. | |
PlotterFactory () | |
The default constructor for prevent creation except by itself. |
Static Private Attributes | |
static PlotterFactory * | s_instance = 0 |
The pointer to the singleton object. |
This Singleton class maintains a list of plotters.
They can be looked up by their advertised name. New plotters are created by cloning existing ones.
Definition at line 24 of file PlotterFactory.h.
|
private |
A private copy constructor to avoid copying.
|
private |
The default constructor for prevent creation except by itself.
Definition at line 27 of file PlotterFactory.cxx.
Referenced by PlotterFactory::instance().
|
inherited |
Adds a prototype object to the list of prototypes.
Referenced by PlotterFactory::initialize().
|
inherited |
Creates a new object from a prototype named name.
If found, returns a new object by invoking the clone() member function of the prototype. If not found, throws a FactoryException object with the name not found.
|
inherited |
Returns true if prototype with name name exists in the factory, otherwise returns false.
|
private |
Initializes the factory with a set of default Plotters.
Definition at line 40 of file PlotterFactory.cxx.
References Factory< PlotterBase >::add().
Referenced by PlotterFactory::instance().
|
static |
Returns the pointer to the singleton instance.
Definition at line 31 of file PlotterFactory.cxx.
References PlotterFactory::initialize(), PlotterFactory::PlotterFactory(), and PlotterFactory::s_instance.
Referenced by PlotterBaseXML::createPlotter().
|
inherited |
Returns the list of available prototype names.
|
inherited |
Returns a pointer to a prototype with name name.
If a prototype with name doesn't exit, throws a FactoryException object with the name not found.
|
inherited |
Removes the named prototype object from the list of prototypes.
|
mutableprotectedinherited |
|
protectedinherited |
|
staticprivate |
The pointer to the singleton object.
Definition at line 30 of file PlotterFactory.h.
Referenced by PlotterFactory::instance().