#
Adapters

###### Identifier:

org.eclipse.core.runtime.adapters

###### Since:

3.0

###### Description:

The adapters extension point allows plug-ins to declaratively register adapter factories. This information is used to by the runtime XML expression language to determine existence of adapters without causing plug-ins to be loaded. Registration of adapter factories via extension point eliminates the need to manually register adapter factories when a plug-in starts up.

###### Configuration Markup:

<!ELEMENT extension (factory+)>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED>

<!ELEMENT factory (adapter+)>

<!ATTLIST factory

adaptableType CDATA #REQUIRED

class CDATA #REQUIRED>

- adaptableType - The fully qualified name of a class (typically implementing IAdaptable) that this factory provides adapters for.
- class - The fully qualified name of the adapter factory class. Must implement `org.eclipse.core.runtime.IAdapterFactory`.

<!ELEMENT adapter EMPTY>

<!ATTLIST adapter

type CDATA #REQUIRED>

- type - The fully qualified name of a Java class or interface that this factory can adapt to.

###### Examples:

Following is an example of an adapter declaration. This example declares that this plug-in will provide an adapter factory that will adapt objects of type IFile to objects of type MyFile.

          <extension point="org.eclipse.core.runtime.adapters">
             <factory
                class="com.xyz.MyFileAdapterFactory"
                adaptableType="org.eclipse.core.resources.IFile">
                <adapter type="com.xyz.MyFile"/>
             </factory>
          </extension>

###### API Information:

Adapter factories registered using this extension point can be queried using the method `IAdapterManager.hasAdapter`, or retrieved using one of the `getAdapter` methods on `IAdapterFactory`. An adapter factory registered with this extension point does not need to be registered at runtime using `IAdapterFactory.registerAdapters`.

###### Supplied Implementation:

Several plug-ins in the platform provide adapters for a number of different IAdaptable objects.

Copyright (c) 2004 IBM Corporation and others.
All rights reserved. This program and the accompanying materials are made available under the terms of the Common Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/cpl-v10.html