어댑터

org.eclipse.core.runtime.adapters

3.0

어댑터 확장점을 사용하면 플러그인에서 어댑터 팩토리를 선언적으로 등록할 수 있습니다. 이 정보는 런타임 XML 표현식 언어에서 플러그인을 로드하지 않고 어댑터의 존재를 판별할 때 사용합니다. 확장점을 통해 어댑터 팩토리를 등록하면 플러그인을 시작할 때 어댑터 팩토리를 직접 등록하지 않아도 됩니다.

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


다음은 어댑터 선언에 관한 예제입니다. 이 예제에서는 이 플러그인에서 IFile 유형의 오브젝트를 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>

이 확장점을 사용하여 등록되는 어댑터 팩토리는 IAdapterManager.hasAdapter 메소드를 사용하여 조회되거나 IAdapterFactorygetAdapter 메소드 중 하나를 사용하여 검색될 수 있습니다. 이 확장점을 통해 등록된 어댑터 팩토리는 런타임 시 IAdapterFactory.registerAdapters를 사용하여 등록하지 않아도 됩니다.

플랫폼의 몇몇 플러그인에서 기타 여러 IAdaptable 오브젝트에 어댑터를 제공합니다.