#include <Builder.hpp>
Public Methods | |
Builder (AbstractFactory< UniqueId > *aAbstractFactory) throw ( Assertion ) | |
Default constructor requires a abstract factory for building the product parts. More... | |
Builder (const Builder &aBuilder) throw ( Assertion ) | |
Copy constructor creates a new instance of the reference abstract factory. More... | |
virtual | ~Builder (void) |
Virtual destructor. | |
Builder & | operator= (const Builder &aRef) |
Operation assignment. More... | |
bool | operator== (const Builder &aRef) |
Equality operator. More... | |
virtual ProductImpl * | getCurrentProduct (void) const |
Retrieves the current product. More... | |
virtual CountCref | getProductCreates (void) const |
Retrieve the product create counts. | |
virtual CountCref | getProductDestroys (void) const |
Retrieve the product destroy counts. | |
virtual AbstractFactory< UniqueId > * | getFactory (void) const |
Retrieve the AbstractFactory. | |
virtual ProductImpl * | create (void) |
Default create routine invokes the implementation createProduct method. More... | |
virtual void | destroy (ProductImpl *aPtr) |
Default destroy routine invokes the implementation destroyProduct method. More... | |
Protected Methods | |
Builder (void) throw (Assertion) | |
Default constructor not supported. | |
void | incrementCreates (void) |
Increment the creates. | |
void | incrementDestroys (void) |
Increment the destroys. | |
virtual ProductImpl * | createProduct (void) const=0 |
Pure virtual createProduct. | |
virtual void | destroyProduct (ProductImpl *) const=0 |
Pure virtual destroyProduct. | |
Protected Attributes | |
ProductImpl * | theCurrentProduct |
The product that was most recently built. | |
AbstractFactory< UniqueId > * | theFactory |
The factory for creating parts. | |
Count | theProductCreates |
The count of creates. | |
Count | theProductDestroys |
The count of destroys. |
This differs from AbstractFactory in that the Factory creates parts and Builder creates Products (assembled parts).
|
Default constructor requires a abstract factory for building the product parts.
|
|
Copy constructor creates a new instance of the reference abstract factory.
|
|
Default create routine invokes the implementation createProduct method.
|
|
Default destroy routine invokes the implementation destroyProduct method.
|
|
Retrieves the current product.
|
|
Operation assignment. Uses the same factory as the reference after destroying theCurrentProduct.
|
|
Equality operator.
|