| Interface | Description | |
|---|---|---|
| IProduct | Defines a set of getter / setter methods implemented by Product classes All instances of subclasses which extend Product can only be typed as an IProduct Sub classes of Product can only be accessed via ProductFactory |
| Class | Description | |
|---|---|---|
| ProductFactory | Application specific Factory Pattern implementation which defines an API that handles Product subclass instantiation | |
| ProductFactoryInstantiationError | ProductFactory API illegal instantiation Error class | |
| ProductFactoryType | Provides a set of static constants which define legal types in ProductFactory | |
| ProductFactoryTypeError | ProductFactory API illegal type Error class |