1 #if !defined(__BUILDER_HPP) 24 #if !defined(__COMMON_HPP) 28 #if !defined(__ABSTRACTFACTORY_HPP) 29 #include <AbstractFactory.hpp> 43 template<
class ProductImpl,
class UniqueId >
69 REQUIRE( aAbstractFactory != NULLPTR );
136 return (
this == &aRef );
183 ProductImpl *aPtr( NULLPTR );
189 CHECK( aPtr != NULLPTR );
211 REQUIRE( aPtr != NULLPTR );
304 #endif // if !defined(__BUILDER_HPP) Count theProductCreates
The count of creates.
Definition: Builder.hpp:295
Builder(void)
Default constructor not supported.
Definition: Builder.hpp:239
Builder & operator=(const Builder &aRef)
Operation assignment.
Definition: Builder.hpp:108
virtual CountCref getProductDestroys(void) const
Retrieve the product destroy counts.
Definition: Builder.hpp:161
void incrementCreates(void)
Increment the creates.
Definition: Builder.hpp:255
virtual void destroy(ProductImpl *aPtr)
Default destroy routine invokes the implementation destroyProduct method.
Definition: Builder.hpp:209
Builder(const Builder &aBuilder)
Copy constructor creates a new instance of the reference abstract factory.
Definition: Builder.hpp:79
virtual AbstractFactory< UniqueId > * getFactory(void) const
Retrieve the AbstractFactory.
Definition: Builder.hpp:168
ProductImpl * theCurrentProduct
The product that was most recently built.
Definition: Builder.hpp:287
Count theProductDestroys
The count of destroys.
Definition: Builder.hpp:299
Forward reference the various common classes.
Definition: AbstractAllocator.hpp:32
virtual ProductImpl * createProduct(void) const =0
Pure virtual createProduct.
virtual ~Builder(void)
Virtual destructor.
Definition: Builder.hpp:92
virtual void destroyProduct(ProductImpl *) const =0
Pure virtual destroyProduct.
AbstractFactory< UniqueId > * theFactory
The factory for creating parts.
Definition: Builder.hpp:291
bool operator==(const Builder &aRef)
Equality operator.
Definition: Builder.hpp:134
virtual ProductImpl * create(void)
Default create routine invokes the implementation createProduct method.
Definition: Builder.hpp:181
Assertion is-a Exception created when an assertion fails.
Definition: Assertion.hpp:423
virtual ProductImpl * getCurrentProduct(void) const
Retrieves the current product.
Definition: Builder.hpp:147
void incrementDestroys(void)
Increment the destroys.
Definition: Builder.hpp:262
AbstractFactory provides an interface for creating families of related or dependent objects without s...
Definition: AbstractFactory.hpp:60
Builder seperates the construction of a complex object from its representation so that the same const...
Definition: Builder.hpp:44
virtual CountCref getProductCreates(void) const
Retrieve the product create counts.
Definition: Builder.hpp:154