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

DataRepFactory Class Reference

#include <DataRepFactory.h>

Inheritance diagram for DataRepFactory:

Inheritance graph
[legend]
Collaboration diagram for DataRepFactory:

Collaboration graph
[legend]
List of all members.

Detailed Description

This Singleton class maintains a list of DataRep objects.

They can be looked up by their advertised name. New objects are created by cloning existing ones.

Definition at line 24 of file DataRepFactory.h.

Public Member Functions

void add (DataRep *)
 Adds a prototype object to the list of prototypes.
DataRepcreate (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 ()
 Returns the list of available prototype names.
DataRepprototype (const std::string &name) const
 Returns a pointer to a prototype with name name.

Static Public Member Functions

static DataRepFactoryinstance ()
 Returns the pointer to the singleton instance.

Protected Member Functions

 DataRepFactory ()
 The default constructor for avoiding creation except by itself or with derived classes.
 Factory ()
 The default constructor.

Protected Attributes

std::vector< std::stringm_names
 The list of available types by names.
std::map< std::string, DataRep * > m_types
 A list of available types.

Private Member Functions

 DataRepFactory (const DataRepFactory &)
 A private copy constructor to avoid copying.
void initialize ()
 Initializes the factory with a set of default DataReps.

Static Private Attributes

static DataRepFactorys_instance = 0
 The pointer to the singleton object.


Constructor & Destructor Documentation

DataRepFactory::DataRepFactory const DataRepFactory  )  [private]
 

A private copy constructor to avoid copying.

DataRepFactory::DataRepFactory  )  [protected]
 

The default constructor for avoiding creation except by itself or with derived classes.

Definition at line 37 of file DataRepFactory.cxx.

Referenced by instance().


Member Function Documentation

void Factory< DataRep >::add DataRep  )  [inherited]
 

Adds a prototype object to the list of prototypes.

Referenced by initialize().

DataRep * Factory< DataRep >::create const std::string name  )  [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.

bool Factory< DataRep >::exists const std::string name  )  const [inherited]
 

Returns true if prototype with name name exists in the factory, otherwise returns false.

Factory< DataRep >::Factory  )  [protected, inherited]
 

The default constructor.

Since this constructor is protected, only derived classes of Factory can be created.

void DataRepFactory::initialize  )  [private]
 

Initializes the factory with a set of default DataReps.

Definition at line 50 of file DataRepFactory.cxx.

References Factory< DataRep >::add().

Referenced by instance().

DataRepFactory * DataRepFactory::instance  )  [static]
 

Returns the pointer to the singleton instance.

Definition at line 41 of file DataRepFactory.cxx.

References DataRepFactory(), initialize(), and s_instance.

Referenced by DisplayController::bindingOptions(), DataRepController::bindingOptions(), DataRepController::createDataRep(), DisplayController::createDisplay(), DisplayController::getDisplayTypes(), and DisplayController::isCompatible().

const std::vector< std::string >& Factory< DataRep >::names  )  [inherited]
 

Returns the list of available prototype names.

DataRep * Factory< DataRep >::prototype const std::string name  )  const [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.


Member Data Documentation

std::vector< std::string > Factory< DataRep >::m_names [protected, inherited]
 

The list of available types by names.

This list should be identical to the list of m_types keys. It is updated when the member function names is called.

Definition at line 56 of file Factory.h.

std::map< std::string, DataRep * > Factory< DataRep >::m_types [protected, inherited]
 

A list of available types.

Definition at line 51 of file Factory.h.

DataRepFactory * DataRepFactory::s_instance = 0 [static, private]
 

The pointer to the singleton object.

Definition at line 35 of file DataRepFactory.cxx.

Referenced by instance().


The documentation for this class was generated from the following files:
Generated for HippoDraw-1.14.8.5 by doxygen 1.4.3