Serviceable
Date: 2016-02-08

org.apache.avalon.framework.service

## Interface Serviceable

-     public interface Serviceable

  A Serviceable is a class that need to connect to software components using a "role" abstraction, thus not depending on particular implementations but on behavioral interfaces.
  The contract surrounding a `Serviceable` is that it is a user. The `Serviceable` is able to use `Object`s managed by the `ServiceManager` it was initialized with. As part of the contract with the system, the instantiating entity must call the `service` method before the `Serviceable` can be considered valid.
  See Also:
    `ServiceManager`

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `service(ServiceManager manager)` Pass the `ServiceManager` to the `Serviceable`.

- - ### Method Detail

    - #### service

          void service(ServiceManager manager)
                       throws ServiceException

      Pass the `ServiceManager` to the `Serviceable`. The `Serviceable` implementation should use the specified `ServiceManager` to acquire the components it needs for execution.
      Parameters:
        `manager` - The `ServiceManager` which this `Serviceable` uses. Must not be `null`.
      Throws:
        `ServiceException` - if an error occurs