org.apache.turbine.services.assemblerbroker

## Class TurbineAssemblerBrokerService

- java.lang.Object
- - org.apache.turbine.services.BaseInitable
  - - org.apache.turbine.services.BaseService
    - - org.apache.turbine.services.TurbineBaseService
      - - org.apache.turbine.services.assemblerbroker.TurbineAssemblerBrokerService

- All Implemented Interfaces:
    AssemblerBrokerService, Initable, Service

      public class TurbineAssemblerBrokerService
      extends TurbineBaseService
      implements AssemblerBrokerService

  TurbineAssemblerBrokerService allows assemblers (like screens, actions and layouts) to be loaded from one or more AssemblerFactory classes. AssemblerFactory classes are registered with this broker by adding them to the TurbineResources.properties file.
  Version:
    $Id: TurbineAssemblerBrokerService.java 1773378 2016-12-09 13:19:59Z tv $
  Author:
    Leon Messerschmidt, Henning P. Schmiedehausen

- - ### Field Summary

    - ### Fields inherited from class org.apache.turbine.services.BaseService

      `configuration, name, serviceBroker`

    - ### Fields inherited from class org.apache.turbine.services.BaseInitable

      `initableBroker, isInitialized`

    - ### Fields inherited from interface org.apache.turbine.services.assemblerbroker.AssemblerBrokerService

      `SERVICE_NAME`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TurbineAssemblerBrokerService()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `<T extends Assembler> T` | `getAssembler(Class<T> type, String name)` Attempt to retrieve an Assembler of a given type with a name.
    `<T extends Assembler> Loader<T>` | `getLoader(Class<T> type)` Get a Loader for the given assembler type
    `void` | `init()` Initializes the AssemblerBroker and loads the AssemblerFactory classes registered in TurbineResources.Properties.
    `<T extends Assembler> void` | `registerFactory(AssemblerFactory<T> factory)` Register a new AssemblerFactory

    - ### Methods inherited from class org.apache.turbine.services.TurbineBaseService

      `init, init, shutdown`

    - ### Methods inherited from class org.apache.turbine.services.BaseService

      `getConfiguration, getName, getProperties, getServiceBroker, setName, setServiceBroker`

    - ### Methods inherited from class org.apache.turbine.services.BaseInitable

      `getInit, getInitableBroker, setInit, setInitableBroker`

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

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

    - ### Methods inherited from interface org.apache.turbine.services.Service

      `getConfiguration, getName, getProperties, setName, setServiceBroker`

    - ### Methods inherited from interface org.apache.turbine.services.Initable

      `getInit, init, setInitableBroker, shutdown`

- - ### Constructor Detail

    - #### TurbineAssemblerBrokerService

          public TurbineAssemblerBrokerService()

  - ### Method Detail

    - #### init

          public void init()
                    throws InitializationException

      Initializes the AssemblerBroker and loads the AssemblerFactory classes registered in TurbineResources.Properties.
      Specified by:
        `init` in interface `Initable`
      Overrides:
        `init` in class `TurbineBaseService`
      Throws:
        `InitializationException` - if problems occur while registering the factories

    - #### registerFactory

          public <T extends Assembler> void registerFactory(AssemblerFactory<T> factory)

      Register a new AssemblerFactory
      Specified by:
        `registerFactory` in interface `AssemblerBrokerService`
      Type Parameters:
        `T` - the type of the assembler
      Parameters:
        `factory` - factory to register

    - #### getAssembler

          public <T extends Assembler> T getAssembler(Class<T> type,
                                             String name)
                                           throws TurbineException

      Attempt to retrieve an Assembler of a given type with a name. Cycle through all the registered AssemblerFactory classes of type and return the first non-null assembly found. If an assembly was not found return null.
      Specified by:
        `getAssembler` in interface `AssemblerBrokerService`
      Type Parameters:
        `T` - the type of the assembler
      Parameters:
        `type` - type of Assembler
        `name` - name of the requested Assembler
      Returns:
        an Assembler or null
      Throws:
        `TurbineException` - if the assembler could not be loaded

    - #### getLoader

          public <T extends Assembler> Loader<T> getLoader(Class<T> type)

      Get a Loader for the given assembler type
      Specified by:
        `getLoader` in interface `AssemblerBrokerService`
      Type Parameters:
        `T` - the type of the assembler
      Parameters:
        `type` - The Type of the Assembler
      Returns:
        A Loader instance for the requested type

Copyright © 2000–2018 The Apache Software Foundation. All rights reserved.