Package org.apache.tapestry5.ioc.internal.services

## Class StrategyBuilderImpl

- java.lang.Object
- - org.apache.tapestry5.ioc.internal.services.StrategyBuilderImpl

- All Implemented Interfaces:
    `StrategyBuilder`

      public class StrategyBuilderImpl
      extends java.lang.Object
      implements StrategyBuilder

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `StrategyBuilderImpl​(PlasticProxyFactory proxyFactory)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `<S> S` | `build​(java.lang.Class<S> adapterType, java.util.Map<java.lang.Class,​S> registrations)` |
    `<S> S` | `build​(StrategyRegistry<S> registry)` | Given a number of adapters implementing the service interface, builds a "dispatcher" implementations that delegates to the one of the adapters.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### StrategyBuilderImpl

          public StrategyBuilderImpl​(@Builtin
                                     PlasticProxyFactory proxyFactory)

  - ### Method Detail

    - #### build

          public <S> S build​(StrategyRegistry<S> registry)

      Description copied from interface: `StrategyBuilder`
      Given a number of adapters implementing the service interface, builds a "dispatcher" implementations that delegates to the one of the adapters. It is an error if any of the methods takes no parameters.
      Specified by:
        `build` in interface `StrategyBuilder`
      Type Parameters:
        `S` - the service interface type
      Parameters:
        `registry` - defines the adapters based on parameter type (of the first parameter)
      Returns:
        a service implementation

    - #### build

          public <S> S build​(java.lang.Class<S> adapterType,
                             java.util.Map<java.lang.Class,​S> registrations)

      Specified by:
        `build` in interface `StrategyBuilder`
        `registrations` - map frm class to the adapter type
      Returns:
        the dispatcher