T - The base class of the product descriptors which can be handled by this ProductFactory.public class ProductFactoryCascade<T extends ProductDescriptor> extends Object implements ProductFactory<T>
getProductFromDescriptor(ProductDescriptor productDescriptor)
the cascade will query all its individual factories until one builds the product. When querying the factories the cascade will start at index 0.| Constructor and Description |
|---|
ProductFactoryCascade()
Construct an empty factory cascade.
|
ProductFactoryCascade(List<ProductFactory<? extends T>> factories)
Construct a factory cascade from an ordered list of product factories.
|
| Modifier and Type | Method and Description |
|---|---|
ProductFactoryCascade<T> |
addFactoryAfter(ProductFactory<? extends T> factory)
Add a given factory to the list of factories at the END.
|
ProductFactoryCascade<T> |
addFactoryBefore(ProductFactory<? extends T> factory)
Add a given factory to the list of factories at the BEGINNING.
|
DescribedProduct<? extends T> |
getProductFromDescriptor(ProductDescriptor productDescriptor)
Constructs the product from a given product descriptor.
|
public ProductFactoryCascade()
public ProductFactoryCascade(List<ProductFactory<? extends T>> factories)
factories - A list of product factories, i.e. object implementing ProductFactory for the product descriptor T.public ProductFactoryCascade<T> addFactoryBefore(ProductFactory<? extends T> factory)
factory - The factory to be added.public ProductFactoryCascade<T> addFactoryAfter(ProductFactory<? extends T> factory)
factory - The factory to be added.public DescribedProduct<? extends T> getProductFromDescriptor(ProductDescriptor productDescriptor)
ProductFactorygetProductFromDescriptor in interface ProductFactory<T extends ProductDescriptor>productDescriptor - A product descriptor.Copyright © 2019. All rights reserved.