Copyright (c) 2000, 2015 IBM Corporation and others.
This program and the accompanying materials
are made available under the terms of the Eclipse Public License 2.0
which accompanies this distribution, and is available at
https://www.eclipse.org/legal/epl-2.0/
SPDX-License-Identifier: EPL-2.0
Contributors:
IBM Corporation - initial API and implementation
Sergey Prigogin (Google) - use parameterized types (bug 442021)
/*******************************************************************************
* Copyright (c) 2000, 2015 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* IBM Corporation - initial API and implementation
* Sergey Prigogin (Google) - use parameterized types (bug 442021)
*******************************************************************************/
package org.eclipse.core.runtime;
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: - IAdapterManager
- IAdaptable
/**
* An adapter factory defines behavioral extensions for
* one or more classes that implements the <code>IAdaptable</code>
* interface. Adapter factories are registered with an
* adapter manager.
* <p>
* This interface can be used without OSGi running.
* </p><p>
* Clients may implement this interface.
* </p>
* @see IAdapterManager
* @see IAdaptable
*/
public interface IAdapterFactory {
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.
Params: - 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
/**
* Returns an object which is an instance of the given class
* associated with the given object. Returns <code>null</code> if
* no such object can be found.
*
* @param adaptableObject the adaptable object being queried
* (usually an instance of <code>IAdaptable</code>)
* @param adapterType the type of adapter to look up
* @return a object of the given adapter type,
* or <code>null</code> if this adapter factory
* does not have an adapter of the given type for the
* given object
*/
public <T> T getAdapter(Object adaptableObject, Class<T> adapterType);
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.
Returns: the collection of adapter types
/**
* Returns the collection of adapter types handled by this
* factory.
* <p>
* This method is generally used by an adapter manager
* to discover which adapter types are supported, in advance
* of dispatching any actual <code>getAdapter</code> requests.
* </p>
*
* @return the collection of adapter types
*/
public Class<?>[] getAdapterList();
}