ServiceSelector (Avalon Framework 4.1.5 API)
Keywords: org.apache.avalon.framework.service.ServiceSelector interface

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.avalon.framework.service
Interface ServiceSelector

All Known Implementing Classes:
  DefaultServiceSelector, WrapperServiceSelector

public interface ServiceSelector

A `ServiceSelector` selects `Object`s based on a supplied policy. The contract is that all the `Object`s implement the same role.

Version:
  CVS $Revision: 1.13 $ $Date: 2003/02/11 15:58:42 $
Author:
  Avalon Development Team
See Also:
  `Serviceable`, `ServiceSelector`

Method Summary
`boolean` | `isSelectable(Object policy)` Check to see if a `Object` exists relative to the supplied policy.
`void` | `release(Object object)` Return the `Object` when you are finished with it.
`Object` | `select(Object policy)` Select the `Object` associated with the given policy.

Method Detail

### select

    public Object select(Object policy)
                  throws ServiceException

  Select the `Object` associated with the given policy. For instance, If the `ServiceSelector` has a `Generator` stored and referenced by a URL, the following call could be used:

       try
       {
           Generator input;
           input = (Generator)selector.select( new URL("foo://demo/url") );
       }
       catch (...)
       {
           ...
       }

  Parameters:
    `policy` - A criteria against which a `Object` is selected.
  Returns:
    an `Object` value
  Throws:
    `ServiceException` - If the requested `Object` cannot be supplied

### isSelectable

    public boolean isSelectable(Object policy)

  Check to see if a `Object` exists relative to the supplied policy.

  Parameters:
    `policy` - a `Object` containing the selection criteria
  Returns:
    True if the component is available, False if it not.

### release

    public void release(Object object)

  Return the `Object` when you are finished with it. This allows the `ServiceSelector` to handle the End-Of-Life Lifecycle events associated with the `Object`. Please note, that no Exception should be thrown at this point. This is to allow easy use of the ServiceSelector system without having to trap Exceptions on a release.

  Parameters:
    `object` - The `Object` we are releasing.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © Apache Software Foundation. All Rights Reserved.