Class WrapperComponentSelector

  • All Implemented Interfaces:
    org.apache.avalon.framework.component.Component, org.apache.avalon.framework.component.ComponentSelector

    public class WrapperComponentSelector
    extends java.lang.Object
    implements org.apache.avalon.framework.component.ComponentSelector
    This is a ServiceSelector implementation that can wrap around a legacy ComponentSelector object effectively adapting a ComponentSelector interface to a ServiceSelector interface.
    Since:
    4.1.4
    Version:
    $Id: WrapperComponentSelector.java 30977 2004-07-30 03:57:54 -0500 (Fri, 30 Jul 2004) niclas $
    Author:
    Avalon Development Team
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.String m_key
      The role that this selector was aquired via.
      private org.apache.avalon.framework.service.ServiceSelector m_selector
      The Selector we are wrapping.
    • Constructor Summary

      Constructors 
      Constructor Description
      WrapperComponentSelector​(java.lang.String key, org.apache.avalon.framework.service.ServiceSelector selector)
      This constructor is a constructor for a WrapperComponentSelector.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      (package private) org.apache.avalon.framework.service.ServiceSelector getWrappedSelector()
      The WrapperComponentManager wraps ServiceSelectors in WrapperServiceSelectors when they are looked up.
      boolean hasComponent​(java.lang.Object policy)
      Check to see if a Component exists relative to the supplied policy.
      void release​(org.apache.avalon.framework.component.Component object)
      Return the Object when you are finished with it.
      org.apache.avalon.framework.component.Component select​(java.lang.Object policy)
      Select a Component based on a policy.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • m_selector

        private final org.apache.avalon.framework.service.ServiceSelector m_selector
        The Selector we are wrapping.
      • m_key

        private final java.lang.String m_key
        The role that this selector was aquired via.
    • Constructor Detail

      • WrapperComponentSelector

        public WrapperComponentSelector​(java.lang.String key,
                                        org.apache.avalon.framework.service.ServiceSelector selector)
        This constructor is a constructor for a WrapperComponentSelector.
        Parameters:
        key - the key used to aquire this selector
        selector - the selector to wrap
    • Method Detail

      • select

        public org.apache.avalon.framework.component.Component select​(java.lang.Object policy)
                                                               throws org.apache.avalon.framework.component.ComponentException
        Select a Component based on a policy.
        Specified by:
        select in interface org.apache.avalon.framework.component.ComponentSelector
        Parameters:
        policy - the policy
        Returns:
        the Component
        Throws:
        org.apache.avalon.framework.component.ComponentException - if unable to select service
      • hasComponent

        public boolean hasComponent​(java.lang.Object policy)
        Check to see if a Component exists relative to the supplied policy.
        Specified by:
        hasComponent in interface org.apache.avalon.framework.component.ComponentSelector
        Parameters:
        policy - a Object containing the selection criteria
        Returns:
        True if the component is available, False if it not.
      • release

        public void release​(org.apache.avalon.framework.component.Component 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.
        Specified by:
        release in interface org.apache.avalon.framework.component.ComponentSelector
        Parameters:
        object - The Object we are releasing.
      • getWrappedSelector

        org.apache.avalon.framework.service.ServiceSelector getWrappedSelector()
        The WrapperComponentManager wraps ServiceSelectors in WrapperServiceSelectors when they are looked up. This method makes it possible to release the original component selector.
        Returns:
        The ServiceSelector being wrapped.