¾î´ðÅÍ

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¸¦ »ç¿ëÇÏ¿© Á¶È¸µÇ°Å³ª IAdapterFactoryÀÇ getAdapter ¸Þ¼Òµå Áß Çϳª¸¦ »ç¿ëÇÏ¿© °Ë»öµÉ ¼ö ÀÖ½À´Ï´Ù. ÀÌ È®ÀåÁ¡À» ÅëÇØ µî·ÏµÈ ¾î´ðÅÍ ÆÑÅ丮´Â ·±Å¸ÀÓ ½Ã IAdapterFactory.registerAdapters¸¦ »ç¿ëÇÏ¿© µî·ÏÇÏÁö ¾Ê¾Æµµ µË´Ï´Ù.

Ç÷§ÆûÀÇ ¸î¸î Ç÷¯±×Àο¡¼­ ±âŸ ¿©·¯ IAdaptable ¿ÀºêÁ§Æ®¿¡ ¾î´ðÅ͸¦ Á¦°øÇÕ´Ï´Ù.