| TerraLib 4.1

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

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions
TeAbstractFactory< PRODUCT, PARAMS, PRODUCTIDTYPE > Class Template Reference

Implements a template for the Abstract Factory pattern. More...

`#include <TeAbstractFactory.h>`

List of all members.

## Public Types

typedef std::map < PRODUCTIDTYPE, TeAbstractFactory< PRODUCT, PARAMS, PRODUCTIDTYPE > * > | TeFactoryMap
| To link each product to its factory.

## Public Member Functions

| TeAbstractFactory (PRODUCTIDTYPE prodId)
| Factory Constructor.
virtual | ~TeAbstractFactory ()
| Destructor.

## Static Public Member Functions

static TeFactoryMap & | instance ()
| Returns the single instance of the factory registration.
static PRODUCT * | make (PARAMS *arg)
| Virtual constructor: make the product from some arguments.
static PRODUCT * | make (PRODUCTIDTYPE prodId)
| Virtual constructor: explictly identifies which product should be made.

## Protected Member Functions

virtual PRODUCT * | build (PARAMS *)
| Builds a new product from a set of parameters (should be implemented by descendants)
virtual PRODUCT * | build ()
| Builds a new product without parameters (should be implemented by descendants)

## Detailed Description

### template<typename PRODUCT, typename PARAMS, typename PRODUCTIDTYPE = std::string>
class TeAbstractFactory< PRODUCT, PARAMS, PRODUCTIDTYPE >

Implements a template for the Abstract Factory pattern.

## Member Typedef Documentation

template<typename PRODUCT, typename PARAMS, typename PRODUCTIDTYPE = std::string>

typedef std::map<PRODUCTIDTYPE, TeAbstractFactory<PRODUCT,PARAMS,PRODUCTIDTYPE>* > TeAbstractFactory< PRODUCT, PARAMS, PRODUCTIDTYPE >::TeFactoryMap

To link each product to its factory.

## Constructor & Destructor Documentation

template<typename PRODUCT, typename PARAMS, typename PRODUCTIDTYPE = std::string>

TeAbstractFactory< PRODUCT, PARAMS, PRODUCTIDTYPE >::TeAbstractFactory | ( | PRODUCTIDTYPE | prodId | ) | `[inline]`

Factory Constructor.

template<typename PRODUCT, typename PARAMS, typename PRODUCTIDTYPE = std::string>

virtual TeAbstractFactory< PRODUCT, PARAMS, PRODUCTIDTYPE >::~TeAbstractFactory | ( |  | ) | `[inline, virtual]`

Destructor.

## Member Function Documentation

template<typename PRODUCT, typename PARAMS, typename PRODUCTIDTYPE = std::string>

virtual PRODUCT* TeAbstractFactory< PRODUCT, PARAMS, PRODUCTIDTYPE >::build | ( | PARAMS * |  | ) | `[inline, protected, virtual]`

Builds a new product from a set of parameters (should be implemented by descendants)

Reimplemented in TeDXFDriverFactory, TeOGRDriverFactory, TeSHPDriverFactory, TeExternalThemeFactory, TeFileThemeFactory, TeSFSThemeFactory, TeThemeFactory, and TeViewTreeFactory.

template<typename PRODUCT, typename PARAMS, typename PRODUCTIDTYPE = std::string>

virtual PRODUCT* TeAbstractFactory< PRODUCT, PARAMS, PRODUCTIDTYPE >::build | ( |  | ) | `[inline, protected, virtual]`

Builds a new product without parameters (should be implemented by descendants)

Reimplemented in TeDXFDriverFactory, TeOGRDriverFactory, TeSHPDriverFactory, TeExternalThemeFactory, TeFileThemeFactory, TeSFSThemeFactory, TeThemeFactory, and TeVisualFactory.

template<typename PRODUCT, typename PARAMS, typename PRODUCTIDTYPE = std::string>

static TeFactoryMap& TeAbstractFactory< PRODUCT, PARAMS, PRODUCTIDTYPE >::instance | ( |  | ) | `[inline, static]`

Returns the single instance of the factory registration.

template<typename PRODUCT, typename PARAMS, typename PRODUCTIDTYPE = std::string>

static PRODUCT* TeAbstractFactory< PRODUCT, PARAMS, PRODUCTIDTYPE >::make | ( | PRODUCTIDTYPE | prodId | ) | `[inline, static]`

Virtual constructor: explictly identifies which product should be made.

template<typename PRODUCT, typename PARAMS, typename PRODUCTIDTYPE = std::string>

static PRODUCT* TeAbstractFactory< PRODUCT, PARAMS, PRODUCTIDTYPE >::make | ( | PARAMS * | arg | ) | `[inline, static]`

Virtual constructor: make the product from some arguments.

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

- E:/Projetos_Primeiro_Semestre_2012/TerraView/terralib/src/terralib/kernel/TeAbstractFactory.h

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines