| org.apache.tapestry.ioc.services.PipelineBuilder
All known Subclasses: org.apache.tapestry.ioc.internal.services.PipelineBuilderImpl,
PipelineBuilder | public interface PipelineBuilder (Code) | | Creates a pipeline from a service inteface and an ordered list of filters. Each filter is defined
in terms of a filter interface: the filter interface is a variant of the service interface, where
each method has an additional parameter that is an instance of the service interface. Typically,
this service parameter (often named "delegate") is either the first or the last parameter of each
method.
The implementation of a filter method is expected to pass all of its parameters to the service
instance passed into it.
The interesting thing is that there may be multiple filters in the pipeline. A fabricated
"bridge" object (that implements the service interface) is created to let each filter invoke
methods on the next filter down the pipeline. This simplifies the model for creating pipelines,
as each filter is coded as if it was directly "in front of" the terminator. In fact, it may be
indirectly invoking methods on the next filter in the pipeline via a bridge instance.
The builder is fairly smart about matching up service interface methods to filter interface
methods, but keeping it simple is also a good idea.
|
Method Summary | |
S | build(Log log, Class<S> serviceInterface, Class<F> filterInterface, List<F> filters, S terminator) Creates a pipeline from the filters and a terminator. | S | build(Log log, Class<S> serviceInterface, Class<F> filterInterface, List<F> filters) Creates a pipeline from just the filters. |
build | S build(Log log, Class<S> serviceInterface, Class<F> filterInterface, List<F> filters, S terminator)(Code) | | Creates a pipeline from the filters and a terminator.
< Parameters: S - >service type< Parameters: F - >filter type Parameters: log - logs any warnings generated when constructing the pipeline Parameters: serviceInterface - Parameters: filterInterface - Parameters: filters - sorted list of filters Parameters: terminator - end of the pipeline an object that encapsulates the filters and the terminator |
build | S build(Log log, Class<S> serviceInterface, Class<F> filterInterface, List<F> filters)(Code) | | Creates a pipeline from just the filters. A
DefaultImplementationBuilder default implementation is created as the terminator.
< Parameters: S - >< Parameters: F - > Parameters: log - Parameters: serviceInterface - Parameters: filterInterface - Parameters: filters - |
|
|