NAME
corelinux::AbstractFactory - AbstractFactory provides an interface for creating families of related or dependent objects without specifying their concrete classes.
SYNOPSIS
#include <AbstractFactory.hpp>
Inherits corelinux::CoreLinuxObject.
Public Member Functions
AbstractFactory (void)
Default constructor. AbstractFactory (const AbstractFactory &)
Copy Constructor. virtual ~AbstractFactory (void)
Virtual Destructor. AbstractFactory & operator= (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 .RE
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 .RE
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 .RE
Author
Generated automatically by Doxygen for CoreLinux++ from the source code.