corelinux::AbstractFactory< UniqueId > Class Template Referenceabstract

AbstractFactory provides an interface for creating families of related or dependent objects without specifying their concrete classes. More...

`#include <AbstractFactory.hpp>`

## Public Member Functions

| AbstractFactory (void)
| Default constructor.
| AbstractFactory (const AbstractFactory &)
| Copy Constructor. More...
virtual | ~AbstractFactory (void)
| Virtual Destructor.
AbstractFactory & | operator= (const AbstractFactory &)
| Assignment operator. More...
bool | operator== (const AbstractFactory &aRef) const
| Equality operator. More...
virtual Count | getCreateCount (void) const =0
| Returns the number of total creates for this factory. More...
virtual Count | getDestroyCount (void) const =0
| Returns the number of total destroys for this factory. More...
virtual AllocatorPtr | getAllocator (UniqueId) const =0 throw (AllocatorNotFoundException)
| Retrieve the allocator identified by argument from the implementation. More...
virtual void | addAllocator (UniqueId, AllocatorPtr)=0 throw (AllocatorAlreadyExistsException)
| Add a allocator to the factory implementation. More...
virtual AllocatorPtr | removeAllocator (UniqueId)=0 throw (AllocatorNotFoundException)
| Retrieve and remove the allocator identified by argument from the implementation. More...
virtual Iterator< Allocator * > * | createIterator (void) const =0
| Interface for creating an Iterator to iterate through the Allocators of an implementation. More...
virtual void | destroyIterator (Iterator< Allocator * > *) const =0
| Interface for returning a created Iterator. More...
virtual AssociativeIterator < UniqueId, Allocator * > * | createAssociativeIterator (void) const =0
| Interface for creating an AssociativeIterator to iterate through the Identifiers and Allocators of an implementation. More...
virtual void | destroyAssociativeIterator (AssociativeIterator< UniqueId, Allocator * > *) const =0
| Interface for returning a created AssociativeIterator. More...
Public Member Functions inherited from corelinux::CoreLinuxObject
| CoreLinuxObject (void)
| Default Constructor.
| CoreLinuxObject (CoreLinuxObjectCref)
| Copy Constructor. More...
virtual | ~CoreLinuxObject (void)
| Virtual Destructor.
CoreLinuxObjectRef | operator= (CoreLinuxObjectCref)
| Assignment operator overload. More...
bool | operator== (CoreLinuxObjectCref) const
| Equality operator overload. More...
bool | operator!= (CoreLinuxObjectCref) const
| Non-equality operator overload. More...

## Detailed Description

### template<class UniqueId>
class corelinux::AbstractFactory< UniqueId >

AbstractFactory provides an interface for creating families of related or dependent objects without specifying their concrete classes.

See Also
  Allocator, AbstractAllocator, Identifier, Iterator, AssociativeIterator

## Constructor & Destructor Documentation

template<class UniqueId>

corelinux::AbstractFactory< UniqueId >::AbstractFactory | ( | const AbstractFactory< UniqueId > & |  | ) |

inline

Copy Constructor.

Parameters

  AbstractFactory | const reference

## Member Function Documentation

template<class UniqueId>

virtual void corelinux::AbstractFactory< UniqueId >::addAllocator | ( | UniqueId | ,
|  | AllocatorPtr |
| ) |  |
throw | ( | AllocatorAlreadyExistsException
| ) |  |

pure virtual

Add a allocator to the factory implementation.

Parameters

  Allocator | pointer

Exceptions

  AllocatorAlreadyExistsException |

template<class UniqueId>

virtual AssociativeIterator<UniqueId,Allocator *>* corelinux::AbstractFactory< UniqueId >::createAssociativeIterator | ( | void |  | ) | const

pure virtual

Interface for creating an AssociativeIterator to iterate through the Identifiers and Allocators of an implementation.

Returns
  AssociativeIterator pointer of type <Identifier,Allocator pointer>

template<class UniqueId>

virtual Iterator<Allocator *>* corelinux::AbstractFactory< UniqueId >::createIterator | ( | void |  | ) | const

pure virtual

Interface for creating an Iterator to iterate through the Allocators of an implementation.

Returns
  Iterator pointer of type Allocator pointer

template<class UniqueId>

virtual void corelinux::AbstractFactory< UniqueId >::destroyAssociativeIterator | ( | AssociativeIterator< UniqueId, Allocator * > * |  | ) | const

pure virtual

Interface for returning a created AssociativeIterator.

Returns
  Iterator pointer of type <Identifier,Allocator pointer>

template<class UniqueId>

virtual void corelinux::AbstractFactory< UniqueId >::destroyIterator | ( | Iterator< Allocator * > * |  | ) | const

pure virtual

Interface for returning a created Iterator.

Returns
  Iterator pointer of type Allocator pointer

template<class UniqueId>

virtual AllocatorPtr corelinux::AbstractFactory< UniqueId >::getAllocator | ( | UniqueId |  | ) | const
throw | ( | AllocatorNotFoundException
| ) |  |

pure virtual

Retrieve the allocator identified by argument from the implementation.

Parameters

  Identifier | const reference

Returns
  Allocator pointer

Exceptions

  AllocatorNotFoundException |

template<class UniqueId>

virtual Count corelinux::AbstractFactory< UniqueId >::getCreateCount | ( | void |  | ) | const

pure virtual

Returns the number of total creates for this factory.

Returns
  corelinux::Count

template<class UniqueId>

virtual Count corelinux::AbstractFactory< UniqueId >::getDestroyCount | ( | void |  | ) | const

pure virtual

Returns the number of total destroys for this factory.

Returns
  corelinux::Count

template<class UniqueId>

AbstractFactory& corelinux::AbstractFactory< UniqueId >::operator= | ( | const AbstractFactory< UniqueId > & |  | ) |

inline

Assignment operator.

Parameters

  AbstractFactory | const reference

Returns
  AbstractFactory reference

template<class UniqueId>

bool corelinux::AbstractFactory< UniqueId >::operator== | ( | const AbstractFactory< UniqueId > & | aRef | ) | const

inline

Equality operator.

Parameters

  AbstractFactory | const reference

Returns
  bool - true if instances are same

template<class UniqueId>

virtual AllocatorPtr corelinux::AbstractFactory< UniqueId >::removeAllocator | ( | UniqueId |  | ) |
throw | ( | AllocatorNotFoundException
| ) |  |

pure virtual

Retrieve and remove the allocator identified by argument from the implementation.

Parameters

  Identifier | const reference

Returns
  Allocator pointer

Exceptions

  AllocatorNotFoundException |

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

- AbstractFactory.hpp

This is the CoreLinux++ reference manual
Provided by The CoreLinux Consortium