package org.eclipse.core.runtime; | |
/* | |
* (c) Copyright IBM Corp. 2000, 2001. | |
* All Rights Reserved. | |
*/ | |
/** | |
* 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> | |
* 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 <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 castable to 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 Object getAdapter(Object adaptableObject, Class adapterType); | |
/** | |
* 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(); | |
} |