Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Examples  

corelinux::AbstractFactory Template Class Reference

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

#include <AbstractFactory.hpp>

Inheritance diagram for corelinux::AbstractFactory

Inheritance graph
[legend]
Collaboration diagram for corelinux::AbstractFactory:

Collaboration graph
[legend]
List of all members.

Public Methods

 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...


Detailed Description

template<class UniqueId> template class corelinux::AbstractFactory

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<classUniqueId>
corelinux::AbstractFactory<UniqueId>::AbstractFactory<UniqueId> ( const AbstractFactory<UniqueId> & )
 

Copy Constructor.

Parameters:
AbstractFactory   const reference


Member Function Documentation

template<classUniqueId>
void corelinux::AbstractFactory<UniqueId>::addAllocator ( UniqueId,
AllocatorPtr ) throw (AllocatorAlreadyExistsException) [pure virtual]
 

Add a allocator to the factory implementation.

Parameters:
Allocator   pointer
Exceptions:
AllocatorAlreadyExistsException  

template<classUniqueId>
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<classUniqueId>
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<classUniqueId>
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<classUniqueId>
void corelinux::AbstractFactory<UniqueId>::destroyIterator ( Iterator< Allocator *>* ) const [pure virtual]
 

Interface for returning a created Iterator.

Returns:
Iterator pointer of type Allocator pointer

template<classUniqueId>
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<classUniqueId>
Count corelinux::AbstractFactory<UniqueId>::getCreateCount ( void ) const [pure virtual]
 

Returns the number of total creates for this factory.

Returns:
corelinux::Count

template<classUniqueId>
Count corelinux::AbstractFactory<UniqueId>::getDestroyCount ( void ) const [pure virtual]
 

Returns the number of total destroys for this factory.

Returns:
corelinux::Count

template<classUniqueId>
AbstractFactory<UniqueId> & corelinux::AbstractFactory<UniqueId>::operator= ( const AbstractFactory<UniqueId> & ) [inline]
 

Assignment operator.

Parameters:
AbstractFactory   const reference
Returns:
AbstractFactory reference

template<classUniqueId>
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<classUniqueId>
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:
This is the CoreLinux++ reference manual
Provided by The CoreLinux Consortium