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 1521999 2013-09-11 19:26:21Z 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`

    - #### registerFactory

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

      Register a new AssemblerFactory
      Specified by:
        `registerFactory` in interface `AssemblerBrokerService`
      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`
      Parameters:
        `type` - type of Assembler
        `name` - name of the requested Assembler
      Returns:
        an Assembler or null
      Throws:
        `TurbineException`

    - #### 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`
      Parameters:
        `type` - The Type of the Assembler
      Returns:
        A Loader instance for the requested type

Copyright © 2000-2015 The Apache Software Foundation. All Rights Reserved.