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

corelinux::AbstractFactory Class Template 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::

corelinux::CoreLinuxObject 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> 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<class UniqueId>
corelinux::AbstractFactory<UniqueId>::AbstractFactory<UniqueId> ( const AbstractFactory<UniqueId> & ) [inline]
 

Copy Constructor.

Parameters:
AbstractFactory   const reference


Member Function Documentation

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

Returns the number of total creates for this factory.

Returns:
corelinux::Count

template<class UniqueId>
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<UniqueId> & 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>
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