Interface IAdapterFactory

All Known Implementing Classes:
AdapterFactory, EObjModelHandler, SelectionAdapterFactory

public interface IAdapterFactory
An adapter factory defines behavioral extensions for one or more classes that implements the IAdaptable interface. Adapter factories are registered with an adapter manager.

This interface can be used without OSGi running.

Clients may implement this interface.

See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    Service property to use when registering a factory as OSGi-service to declare the adaptable class type, this is a multi-string-property, if more than one is given the factory will be register multiple times
    static final String
    Optional service property to use when registering a factory as OSGi-service to declare the possible adapter types.
  • Method Summary

    Modifier and Type
    Method
    Description
    <T> T
    getAdapter(Object adaptableObject, Class<T> adapterType)
    Returns an object which is an instance of the given class associated with the given object.
    default Class<?>[]
    Returns the collection of adapter types handled by this factory.
  • Field Details

    • SERVICE_PROPERTY_ADAPTABLE_CLASS

      static final String SERVICE_PROPERTY_ADAPTABLE_CLASS
      Service property to use when registering a factory as OSGi-service to declare the adaptable class type, this is a multi-string-property, if more than one is given the factory will be register multiple times
      Since:
      3.14
      See Also:
    • SERVICE_PROPERTY_ADAPTER_NAMES

      static final String SERVICE_PROPERTY_ADAPTER_NAMES
      Optional service property to use when registering a factory as OSGi-service to declare the possible adapter types. If the property is given, the service is only queried when actually required, this is a multi-string-property.
      Since:
      3.14
      See Also:
  • Method Details

    • getAdapter

      <T> T getAdapter(Object adaptableObject, Class<T> adapterType)
      Returns an object which is an instance of the given class associated with the given object. Returns null if no such object can be found.
      Parameters:
      adaptableObject - the adaptable object being queried (usually an instance of IAdaptable)
      adapterType - the type of adapter to look up
      Returns:
      a object of the given adapter type, or null if this adapter factory does not have an adapter of the given type for the given object
    • getAdapterList

      default Class<?>[] getAdapterList()
      Returns the collection of adapter types handled by this factory.

      This method is generally used by an adapter manager to discover which adapter types are supported, in advance of dispatching any actual getAdapter requests.

      The default implementation collects the required classes from the AdapterTypes annotation, if that is not used implementors must override this method.

      Returns:
      the collection of adapter types