1 #if !defined(__ABSTRACTFACTORY_HPP)
2 #define __ABSTRACTFACTORY_HPP
24 #if !defined(__COMMON_HPP)
28 #if !defined(__ALLOCATOR_HPP)
29 #include <Allocator.hpp>
32 #if !defined(__ALLOCATORNOTFOUNDEXCEPTION_HPP)
33 #include <AllocatorNotFoundException.hpp>
36 #if !defined(__ALLOCATORALREADYEXISTSEXCEPTION_HPP)
37 #include <AllocatorAlreadyExistsException.hpp>
40 #if !defined(__ASSOCIATIVEITERATOR_HPP)
41 #include <AssociativeIterator.hpp>
44 #if !defined(__ITERATOR_HPP)
45 #include <Iterator.hpp>
59 template<
class UniqueId >
120 return(
this == &aRef );
177 throw(AllocatorNotFoundException) = 0;
221 #endif // if !defined(__ABSTRACTFACTORY_HPP)
bool operator==(const AbstractFactory &aRef) const
Equality operator.
Definition: AbstractFactory.hpp:118
AbstractFactory & operator=(const AbstractFactory &)
Assignment operator.
Definition: AbstractFactory.hpp:107
AbstractFactory(const AbstractFactory &)
Copy Constructor.
Definition: AbstractFactory.hpp:83
virtual AssociativeIterator< UniqueId, Allocator * > * createAssociativeIterator(void) const =0
Interface for creating an AssociativeIterator to iterate through the Identifiers and Allocators of an...
virtual Count getDestroyCount(void) const =0
Returns the number of total destroys for this factory.
virtual void destroyIterator(Iterator< Allocator * > *) const =0
Interface for returning a created Iterator.
virtual void destroyAssociativeIterator(AssociativeIterator< UniqueId, Allocator * > *) const =0
Interface for returning a created AssociativeIterator.
AllocatorNotFoundException is an exception that is usually thrown when a AbstractFactory attempts to ...
Definition: AllocatorNotFoundException.hpp:44
virtual AllocatorPtr getAllocator(UniqueId) const =0
Retrieve the allocator identified by argument from the implementation.
virtual AllocatorPtr removeAllocator(UniqueId)=0
Retrieve and remove the allocator identified by argument from the implementation. ...
virtual ~AbstractFactory(void)
Virtual Destructor.
Definition: AbstractFactory.hpp:92
virtual void addAllocator(UniqueId, AllocatorPtr)=0
Add a allocator to the factory implementation.
The AssociativeIterator that extends Iterator to include the interface for describing an associative ...
Definition: AssociativeIterator.hpp:44
Allocator is a Strategy class used by AbstractAllocator and AbstractFactory.Each Allocator instance t...
Definition: Allocator.hpp:43
virtual Iterator< Allocator * > * createIterator(void) const =0
Interface for creating an Iterator to iterate through the Allocators of an implementation.
AllocatorAlreadyExistsException is an exception that is usually thrown when a add of an Allocator col...
Definition: AllocatorAlreadyExistsException.hpp:44
virtual Count getCreateCount(void) const =0
Returns the number of total creates for this factory.
AbstractFactory(void)
Default constructor.
Definition: AbstractFactory.hpp:71
The Iterator provides a way to access the elements of an collection type sequentially without exposin...
Definition: Iterator.hpp:44
An CoreLinuxObject is a base class for the library.
Definition: CoreLinuxObject.hpp:39
AbstractFactory provides an interface for creating families of related or dependent objects without s...
Definition: AbstractFactory.hpp:60