corelinux::AbstractFactory< UniqueId > 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< UniqueId >:

corelinux::CoreLinuxObject List of all members.

Public Member Functions

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

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