org.apache.turbine.services.avaloncomponent

## Class TurbineYaafiComponentService

- java.lang.Object
- - org.apache.turbine.services.BaseInitable
  - - org.apache.turbine.services.BaseService
    - - org.apache.turbine.services.TurbineBaseService
      - - org.apache.turbine.services.avaloncomponent.TurbineYaafiComponentService

- All Implemented Interfaces:
    org.apache.avalon.framework.activity.Disposable, org.apache.avalon.framework.activity.Initializable, org.apache.avalon.framework.service.ServiceManager, AvalonComponentService, Initable, Service, TurbineServiceProvider

      public class TurbineYaafiComponentService
      extends TurbineBaseService
      implements AvalonComponentService, org.apache.avalon.framework.activity.Initializable, org.apache.avalon.framework.activity.Disposable

  An implementation of Turbine service initializing the YAAFI container
  Author:
    Siegfried Goeschl

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `COMPONENT_PARAMETERS_KEY` property to lookup the properties file
    `static String` | `COMPONENT_PARAMETERS_VALUE` the default value for the parameter file
    `static String` | `CONTAINER_CONFIGURATION_KEY` property to lookup the container configuration file
    `static String` | `CONTAINER_CONFIGURATION_VALUE` the default value for the container configuration file

    - ### 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.avaloncomponent.AvalonComponentService

      `AVALON_LOG_CATEGORY, COMPONENT_APP_ROOT, COMPONENT_CONFIG_KEY, COMPONENT_CONFIG_VALUE, COMPONENT_LOOKUP_KEY, COMPONENT_ROLE_KEY, COMPONENT_ROLE_VALUE, SERVICE_NAME`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TurbineYaafiComponentService()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected org.apache.avalon.framework.logger.Logger` | `createAvalonLogger()` Create the Avalon logger to be passed to YAAFI
    `protected org.apache.fulcrum.yaafi.framework.factory.ServiceContainerConfiguration` | `createServiceContainerConfiguration(org.apache.commons.configuration.Configuration conf, File applicationRoot)` Create a ServiceContainerConfiguration based on the Turbine configuration
    `void` | `dispose()` Disposes of the container and releases resources
    `boolean` | `exists(String roleName)` Is the service known to the service container?
    `Object` | `get(String roleName)` Returns an instance of the requested service.
    `boolean` | `hasService(String roleName)`
    `void` | `init()` Load all configured components and initialize them.
    `void` | `initialize()` Initializes the container
    `Object` | `lookup(String roleName)` Returns an instance of the named component
    `void` | `release(Object component)` Releases the component.
    `void` | `shutdown()` Shuts the Component Service down, calls dispose on the components that implement this interface

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

      `init, init`

    - ### 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`

- - ### Field Detail

    - #### CONTAINER_CONFIGURATION_KEY

          public static final String CONTAINER_CONFIGURATION_KEY

      property to lookup the container configuration file
      See Also:
        Constant Field Values

    - #### CONTAINER_CONFIGURATION_VALUE

          public static final String CONTAINER_CONFIGURATION_VALUE

      the default value for the container configuration file
      See Also:
        Constant Field Values

    - #### COMPONENT_PARAMETERS_KEY

          public static final String COMPONENT_PARAMETERS_KEY

      property to lookup the properties file
      See Also:
        Constant Field Values

    - #### COMPONENT_PARAMETERS_VALUE

          public static final String COMPONENT_PARAMETERS_VALUE

      the default value for the parameter file
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### TurbineYaafiComponentService

          public TurbineYaafiComponentService()

  - ### Method Detail

    - #### init

          public void init()
                    throws InitializationException

      Load all configured components and initialize them. This is a zero parameter variant which queries the Turbine Servlet for its config.
      Specified by:
        `init` in interface `Initable`
      Overrides:
        `init` in class `TurbineBaseService`
      Throws:
        `InitializationException` - Something went wrong in the init stage

    - #### shutdown

          public void shutdown()

      Shuts the Component Service down, calls dispose on the components that implement this interface
      Specified by:
        `shutdown` in interface `Initable`
      Overrides:
        `shutdown` in class `TurbineBaseService`

    - #### initialize

          public void initialize()
                          throws Exception

      Initializes the container
      Specified by:
        `initialize` in interface `org.apache.avalon.framework.activity.Initializable`
      Throws:
        `Exception` - generic exception

    - #### dispose

          public void dispose()

      Disposes of the container and releases resources
      Specified by:
        `dispose` in interface `org.apache.avalon.framework.activity.Disposable`

    - #### lookup

          public Object lookup(String roleName)
                        throws org.apache.avalon.framework.service.ServiceException

      Returns an instance of the named component
      Specified by:
        `lookup` in interface `org.apache.avalon.framework.service.ServiceManager`
      Parameters:
        `roleName` - Name of the role the component fills.
      Returns:
        an instance of the named component
      Throws:
        `org.apache.avalon.framework.service.ServiceException`

    - #### release

          public void release(Object component)

      Releases the component.
      Specified by:
        `release` in interface `org.apache.avalon.framework.service.ServiceManager`
      Specified by:
        `release` in interface `TurbineServiceProvider`
      Parameters:
        `component` - the component to release

    - #### hasService

          public boolean hasService(String roleName)

      Specified by:
        `hasService` in interface `org.apache.avalon.framework.service.ServiceManager`
      See Also:
        `ServiceManager.hasService(java.lang.String)`

    - #### createServiceContainerConfiguration

          protected org.apache.fulcrum.yaafi.framework.factory.ServiceContainerConfiguration createServiceContainerConfiguration(org.apache.commons.configuration.Configuration conf,
                                                                                                                     File applicationRoot)
                                                                                                                          throws IOException

      Create a ServiceContainerConfiguration based on the Turbine configuration
      Parameters:
        `conf` - the Turbine configuration
        `applicationRoot` - the application root directory
      Returns:
        the YAAFI configuration
      Throws:
        `IOException` - creating the YAAFI configuration failed

    - #### createAvalonLogger

          protected org.apache.avalon.framework.logger.Logger createAvalonLogger()

      Create the Avalon logger to be passed to YAAFI
      Returns:
        an Avalon Logger

    - #### exists

          public boolean exists(String roleName)

      Description copied from interface: `TurbineServiceProvider`
      Is the service known to the service container?
      Specified by:
        `exists` in interface `TurbineServiceProvider`
      Parameters:
        `roleName` - the name of the requested service
      Returns:
        true if the service is known to the provider
      See Also:
        `TurbineServiceProvider.exists(java.lang.String)`

    - #### get

          public Object get(String roleName)
                     throws InstantiationException

      Description copied from interface: `TurbineServiceProvider`
      Returns an instance of the requested service. If the given service is not available/found we throw a RuntimeException since this is less intrusive.
      Specified by:
        `get` in interface `TurbineServiceProvider`
      Parameters:
        `roleName` - the name of the requested service
      Returns:
        an instance of the service
      Throws:
        `InstantiationException` - the service could not be instantiated
      See Also:
        `TurbineServiceProvider.get(java.lang.String)`

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