Adapters

org.eclipse.core.runtime.adapters

3.0

Met het extensiepunt voor adapters kunnen plugins adapterfactory's declaratief registreren. Deze informatie wordt door de runtime-XML-expressietaal gebruikt om te kunnen vaststellen of er adapters zijn zonder plugins te laden. Door adapterfactory's te registreren via dit extensiepunt, hoeven deze niet meer handmatig te worden geregistreerd bij het opstarten van een plugin.

<!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>


<!ELEMENT adapter EMPTY>

<!ATTLIST adapter

type CDATA #REQUIRED>


Hieronder ziet u een voorbeeld van een adapterdeclaratie. In dit voorbeeld wordt gedeclareerd dat deze plugin een adapterfactory aanlevert waarmee objecten van het type IFile worden omgezet naar objecten van het 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>

Adapterfactory's die met dit extensiepunt zijn geregistreerd, kunnen worden opgevraagd met de methode IAdapterManager.hasAdapter, of worden opgehaald met een van de getAdapter-methoden van IAdapterFactory. Een adapterfactory die met dit extensiepunt is geregistreerd, hoeft niet in runtime te worden geregistreerd met IAdapterFactory.registerAdapters.

Verschillende plugins in het platform leveren adapters voor een aantal verschillende IAdaptable-objecten.