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