triggerPoints È®ÀåÀº ÇÏÀ§ ¶Ç´Â ·¹ÀÌºí¿¡ ´ëÇØ ÀÌ·¯ÇÑ È®ÀåÀÌ È£ÃâµÇµµ·Ï ÇÏ´Â ¿ä¼Ò¸¦ ¼³¸íÇÕ´Ï´Ù. possibleChildren Ç¥Çö½ÄÀº È®ÀåÀÌ »óÀ§¿¡ Á¦°øÇÒ ¼ö ÀÖ´Â ¿ä¼Ò¸¦ ¼³¸íÇÕ´Ï´Ù. Ŭ¶óÀÌ¾ðÆ®´Â ÆíÁý±â·Î ¸µÅ©°¡ ÀûÀýÇÑ ³ëµå·Î ¿Ã¹Ù¸£°Ô È®ÀåµÉ ¼ö ÀÖµµ·Ï ¼±ÅûçÇ×À¸·Î ¼³Á¤µÉ ¼ö ÀÖ´Â ¸ðµç ¿ä¼Ò¸¦ ¼³¸íÇÕ´Ï´Ù.
<!ELEMENT extension ((navigatorContent? | actionProvider? | commonWizard? | commonFilter?))>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED>
<!ELEMENT navigatorContent ((enablement | (triggerPoints , possibleChildren)) , actionProvider* , commonSorter* , override? , dropAssistant* , commonWizard*)>
<!ATTLIST navigatorContent
id CDATA #REQUIRED
name CDATA #REQUIRED
priority (lowest|lower|low|normal|high|higher|highest)
contentProvider CDATA #REQUIRED
icon CDATA #IMPLIED
activeByDefault (true | false)
providesSaveables (true | false)
labelProvider CDATA #REQUIRED>
³×ºñ°ÔÀÌÅÍ ÄÁÅÙÃ÷ È®ÀåÀº ¿ä¼Ò°¡ triggerPoints Ç¥Çö½Ä°ú
ÀÏÄ¡ÇÒ ¶§¸¶´Ù ÇÏÀ§¸¦ Á¦°øÇϰí, ¿ä¼Ò°¡ possibleChildren Ç¥Çö½Ä°ú
ÀÏÄ¡ÇÒ ¶§¸¶´Ù »óÀ§¸¦ Á¦°øÇÏ´Â µ¥ »ç¿ëÇÒ ¼ö ÀÖ´Â ÄÁÅÙÃ÷ Á¦°øÀÚ ¹×
·¹À̺í Á¦°øÀÚ¸¦ Á¤ÀÇÇÕ´Ï´Ù.
¼±ÅÃÀûÀ¸·Î Ŭ¶óÀÌ¾ðÆ®´Â ¶ÇÇÑ
triggerPoints Ç¥Çö½Ä°ú ÀÏÄ¡Çϰųª È®Àå¿¡¼ Á¦°øÇÑ ¿ä¼Ò°¡ ¼±ÅõǴ °æ¿ì
¸Þ´º ÄÁÆ®¸®ºä¼Ç ¹× Á¶Ä¡ Ç¥½ÃÁÙ ÄÁÆ®¸®ºä¼ÇÀ» Á¦°øÇÒ ¼ö ÀÖ´Â
Á¶Ä¡ Á¦°øÀÚ¸¦ Á¦°øÇÒ ¼öµµ
ÀÖ½À´Ï´Ù. Ŭ¶óÀÌ¾ðÆ®´Â È®Àå¿¡¼ Á¦°øÇÏ´Â ¿ä¼Ò¸¦ Á¤·ÄÇϱâ À§ÇÑ Á¤·ÄÀÚ¸¦ Á¦°øÇϵµ·Ï
¼±ÅÃÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
org.eclipse.ui.navigator.CommonActionProvider
Ãß°¡)ÇÏ·Á´Â
´Ù¸¥ È®Àå¿¡ »ç¿ëµË´Ï´Ù. org.eclipse.jface.viewers.ITreeContentProvider
¶Ç´Â
org.eclipse.ui.navigator.ICommonContentProvider
¸¦ ±¸ÇöÇϴ Ŭ·¡½ºÀÇ À̸§À» Á¦°øÇÕ´Ï´Ù.
org.eclipse.jface.viewers.ILabelProvider
¸¦ ±¸ÇöÇϰųª
org.eclipse.ui.navigator.ICommonLabelProvider
(°í±Þ ±â´É¿¡ »ç¿ë)¸¦ ±¸ÇöÇÏ´Â
Ŭ·¡½ºÀÇ À̸§À» Á¦°øÇÕ´Ï´Ù.
org.eclipse.ui.navigator.IDescriptionProvider
¸¦ ±¸ÇöÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
<!ELEMENT enablement (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
Enablement Ç¥Çö½ÄÀ» »ç¿ëÇÏ¿© Ŭ¶óÀÌ¾ðÆ®´Â triggerPoints¿Í possibleChildren¿¡ ¸ðµÎ
µ¿ÀÏÇÑ Ç¥Çö½ÄÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
actionProviderÀÇ °æ¿ì Ŭ¶óÀÌ¾ðÆ®´Â
org.eclipse.ui.navigator.CommonActionProvider
¸¦ È£ÃâÇØ¾ß ÇÏ´Â °æ¿ì
ÇÁ·¹ÀÓ¿öÅ©¿¡ Ç¥½ÃÇÒ Ç¥Çö½ÄÀ» Á¤ÀÇÇØ¾ß ÇÕ´Ï´Ù. IActionBars ÄÁÆ®¸®ºä¼ÇÀ¸·Î ÀÎÇØ
¿øÇÏ´Â ¿ÀºêÁ§Æ®¸¦ ¼±ÅÃÇÒ ¶§¸¶´Ù Ŭ¶óÀÌ¾ðÆ®¸¦ È£ÃâÇØ¾ß
ÇÕ´Ï´Ù. ±×·¯¹Ç·Î Ŭ¶óÀÌ¾ðÆ®´Â È®ÀåÀ» »ç¿ëÇØ¾ß ÇÏ´Â °æ¿ì¸¦ °áÁ¤ÇÒ ¶§
½ÅÁßÇØ¾ß ÇÕ´Ï´Ù.
<!ELEMENT triggerPoints (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
triggerPoints Ç¥Çö½ÄÀº Æ®¸®¿¡¼ ÇÏÀ§¿¡ ´ëÇØ ÀÌ È®ÀåÀÌ È£ÃâµÇ°Ô ÇÏ´Â ³ëµå¸¦ Á¤ÀÇÇÕ´Ï´Ù.
<!ELEMENT possibleChildren (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
possibleChildren Ç¥Çö½ÄÀº Æ®¸®¿¡¼ È®ÀåÀÌ Á¦°øÇÒ ¼ö ÀÖ´Â ³ëµå¸¦ Á¤ÀÇÇÕ´Ï´Ù. Ŭ¶óÀÌ¾ðÆ®´Â ÄÁÅÙÃ÷ È®ÀåÀÌ Ç¥Çö½Ä°ú ÀÏÄ¡ÇÏ´Â ¿ä¼ÒÀÇ »óÀ§¸¦ Á¦°øÇÒ ¼ö ÀÖ´Â ½Ã±â¸¦ ¼³¸íÇØ¾ß ÇÕ´Ï´Ù.
<!ELEMENT actionProvider (enablement?)>
<!ATTLIST actionProvider
class CDATA #REQUIRED
id CDATA #IMPLIED
dependsOn CDATA #IMPLIED
overrides CDATA #IMPLIED>
org.eclipse.ui.navigator.CommonActionProvider
¸¦ ±¸ÇöÇÏ´Â
Ŭ·¡½ºÀÇ À̸§À» Á¦°øÇÕ´Ï´Ù. Á¶Ä¡ Á¦°øÀÚ´Â
³×ºñ°ÔÀÌÅ͸¦ º¸À¯ÇÏ´Â º¸±âÀÇ IActionBars¿¡ Á¤ÀÇµÈ ´Ù½Ã ´ë»ó ÁöÁ¤
°¡´ÉÇÑ Á¶Ä¡ ¹× ÄÁÅØ½ºÆ® ¸Þ´º¿¡ ÄÁÆ®¸®ºä¼ÇÇÒ ¼ö ÀÖ½À´Ï´Ù. Ŭ¶óÀÌ¾ðÆ®µµ
IActionBars º¸±â ¸Þ´º¸¦ ÅëÇØ º¸±â ¸Þ´º¿¡ Á÷Á¢ ÄÁÆ®¸®ºä¼ÇÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
ÇØ´ç actionProvider¿¡ ´ëÇÑ viewerActionBindingÀÌ ÀÖ´Â °æ¿ì
actionProvider ÃÖ»óÀ§ ·¹º§Àº ¿ä¾à Ç¥½Ã±â¿¡ Ç¥½ÃµË´Ï´Ù.
navigatorContent ¿ä¼Ò ¾Æ·¡ ÁßøµÈ actionProvidersÀÇ °æ¿ì
°¡½Ã¼ºÀº navigatorContent È®Àå ID·Î Á¦¾îµË´Ï´Ù.
viewerContentBinding°ú ÀÏÄ¡½ÃÄÑ ÇÏÀ§ Á¶Ä¡ Á¦°øÀÚ°¡ ÀÚµ¿À¸·Î
¼±Åõ˴ϴÙ. °¡½Ã¼º ¹ÙÀεù¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸´Â
org.eclipse.ui.navigator.viewer¸¦ ÂüÁ¶ÇϽʽÿÀ.
Ŭ¶óÀÌ¾ðÆ®´Â
ÇØ´ç Ç׸ñÀÇ »ç¿ë ¿©ºÎ ¹× Ç¥½Ã±â ¹ÙÀεùÀ» ´õ Àß Á¦¾îÇϱâ À§ÇØ ·çÆ® extention ¿ä¼Ò(´Ù¸¥ navigatorContentÀÇ ÇǾî)
¾Æ·¡ actionProvider¸¦ Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù(veiwerActionBinding ÂüÁ¶).
ID°¡ ¾ø´Â ·çÆ® actionProvidersÀÇ °æ¿ì ID ±âº»°ªÀº
"org.eclipse.ui.navigator.actionProvider.X"ÀÔ´Ï´Ù. ÀÌ·¯ÇÑ actionProvider°¡
Ç¥½Ã±âÀÇ ¸Þ´º ¶Ç´Â Á¶Ä¡ Ç¥½ÃÁÙ¿¡ ÄÁÆ®¸®ºä¼ÇÇÒ ¼ö ÀÖÀ¸·Á¸é
ƯÁ¤ Ç¥½Ã±â¿Í ±âº» ID("org.eclipse.ui.navigator.actionProvider.*") »çÀÌÀÇ ¹ÙÀεùÀ» ¼±¾ðÇÏ´Â
viewerActionBindingÀ» Á¤ÀÇ(org.eclipse.ui.navigator.viewer extension pointÀÇ ÀϺηÎ)ÇØ¾ß
ÇÕ´Ï´Ù.
ÀÚ¼¼ÇÑ Á¤º¸´Â org.eclipse.ui.navigator.viewer ½ºÅ°¸¶ ¹®¼¿¡ ÀÖ´Â
viewerActionBinding ¹®¼¸¦ ÂüÁ¶ÇϽʽÿÀ.
<!ELEMENT commonWizard (enablement)>
<!ATTLIST commonWizard
type (import|export|new)
wizardId CDATA #REQUIRED
menuGroupId CDATA #IMPLIED
associatedExtensionId CDATA #IMPLIED>
È®ÀåÁ¡Àº À¯Çüº°·Î Á¤ÀÇµÈ ¸Þ´º¿¡ ÄÁÆ®¸®ºä¼ÇÇÒ ¼ö ÀÖ´Â ±â´ÉÀ» Á¦°øÇÕ´Ï´Ù.
<!ELEMENT commonFilter (filterExpression?)>
<!ATTLIST commonFilter
id CDATA #REQUIRED
name CDATA #REQUIRED
description CDATA #IMPLIED
class CDATA #IMPLIED
activeByDefault (true | false) >
ƯÁ¤ °øÅë Ç¥½Ã±â¿Í ¿¬°üµÉ ¼ö ÀÖ´Â ÇÊÅ͸¦ Á¤ÀÇÇÕ´Ï´Ù. °øÅë ÇÊÅÍ´Â org.eclipse.ui.navigator.viewer/viewerContentBindingÀ» »ç¿ëÇÏ¿© ÄÁÅÙÃ÷ È®Àå°ú °°Àº Ç¥½Ã±â¿¡ ¹ÙÀεåµË´Ï´Ù.
<!ELEMENT filterExpression (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
ÇÊÅͰ¡ ƯÁ¤ º¸±â¿¡¼ ¼û°Ü¾ß ÇÏ´Â Ç׸ñÀ» Á¤ÀÇÇÏ´Â ¼±ÅÃÀû Eclipse ÄÚ¾î Ç¥Çö½Ä
¿¹¸¦ µé¾î, Ŭ¶óÀÌ¾ðÆ®´Â À̸§¿¡ ƯÁ¤ ÆÐÅÏ(¿¹: "*.acme")À» °¡Áø ¸ðµç ÀÚ¿øÀ» ¼û±âµµ·Ï °áÁ¤ÇÒ
¼ö ÀÖ½À´Ï´Ù. ÇÊÅͰ¡ Ȱ¼ºÈµÈ °æ¿ì(±âº»ÀûÀ¸·Î ÄÑÁü »óÅÂÀ̰ųª »ç¿ëÀÚ°¡ ÄÔ)
"acme"·Î ³¡³ª´Â ¸ðµç ÀÚ¿øÀº »ç¿ëÀÚ º¸±â¿¡¼ ¼û°ÜÁý´Ï´Ù.
Ŭ¶óÀÌ¾ðÆ®´Â filterExpression ¶Ç´Â "class" ¼Ó¼ºÀ» »ç¿ëÇÒ ¼ö ÀÖÁö¸¸ µÑ
¸ðµÎ¸¦ »ç¿ëÇÒ ¼ö´Â ¾ø½À´Ï´Ù.
<!ELEMENT commonSorter (parentExpression)>
<!ATTLIST commonSorter
id CDATA #REQUIRED
class CDATA #REQUIRED>
commonSorter´Â Æ®¸®¿¡¼ ÇÏÀ§¸¦ Á¤·ÄÇÏ´Â µ¥ »ç¿ëµÇ´Â
org.eclipse.jface.viewers.ViewerSorter
¼ºêŬ·¡½º¸¦ ¼±¾ðÇÕ´Ï´Ù.
ÁßøµÈ parentExpressionÀº commonSorterÀÇ »ç¿ë ½Ã±â¸¦
¼³¸íÇÕ´Ï´Ù. ¿ä¼Ò°¡ parentExpression°ú ÀÏÄ¡Çϸé
ÇÏÀ§ ¿ä¼Ò°¡ commonSorter·Î Á¤·ÄµË´Ï´Ù.
org.eclipse.jface.viewers.ViewerSorter
ÀÇ ¼ºêŬ·¡½º<!ELEMENT parentExpression (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
parentExpressionÀº commonSorter°¡ Àû¿ëµÇ´Â ½Ã±â¸¦ ½Äº°ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. commonSorterÀÇ parentExpressionÀÌ ÁöÁ¤µÈ ¿ä¼Ò¿Í ÀÏÄ¡ÇÏ´Â °æ¿ì ÇØ´ç ¿ä¼ÒÀÇ ÇÏÀ§(ÄÁÅÙÃ÷ ¼ºñ½ºÀÇ ÄÁÅÙÃ÷ Á¦°øÀÚ¿¡ ÀÇÇØ ¸®ÅϵÊ)¸¦ Á¤·ÄÇÏ´Â µ¥ commonSorter°¡ »ç¿ëµË´Ï´Ù.
<!ELEMENT override EMPTY>
<!ATTLIST override
suppressedExtensionId CDATA #REQUIRED
policy (InvokeOnlyIfSuppressedExtAlsoVisibleAndActive|InvokeAlwaysRegardlessOfSuppressedExt) "InvokeAlwaysRegardlessOfSuppressedExt">
¼±¾ðµÈ È®Àå ¹× ¾ïÁ¦µÈ È®ÀåÀÇ triggerPoints Ç¥Çö½ÄÀÌ
¸ðµÎ ÁöÁ¤µÈ ¿ä¼Ò¿¡ ´ëÇØ »ç¿ë »óÅÂÀÎ °æ¿ì
ÀÌ È®ÀåÀº È£ÃâµÇÁö¸¸ ¾ïÁ¦µÈ È®ÀåÀº È£ÃâµÇÁö ¾Ê½À´Ï´Ù. ¶ÇÇÑ override ¿ä¼Ò¸¦ ÁöÁ¤ÇÏ´Â
Ŭ¶óÀÌ¾ðÆ®´Â Ç¥½Ã±â¿¡ ´ëÇÑ ÇÏÀ§, »óÀ§ ¹× Á÷Á¢ °»½Å ¿äûÀ» ÀÎÅͼÁÆ®ÇÏ´Â
¸Þ¼Òµå¸¦ Á¦°øÇÏ´Â
org.eclipse.ui.navigator.IPipelinedTreeContentProvider
¸¦ ±¸ÇöÇÏ´Â
ÄÁÅÙÃ÷ Á¦°øÀÚµµ Á¦°øÇØ¾ß ÇÕ´Ï´Ù.
<!ELEMENT dropAssistant (possibleDropTargets)>
<!ATTLIST dropAssistant
id CDATA #REQUIRED
class CDATA #REQUIRED>
³õ±â Á¶ÀÛ¿¡ ´ëÇÑ ÇÁ·Î±×·¥ ¹æ½ÄÀÇ À¯È¿¼º °ËÁõÀ» Á¦°øÇϰí Ãß°¡ Àü¼Û À¯ÇüÀ» ¿äûÇÑ ´ÙÀ½ ³õ±â Á¶ÀÛÀ»
ó¸®ÇÒ ¼ö ÀÖ´Â
org.eclipse.ui.navigator.CommonDropAdapterAssistant
¼ºêŬ·¡½º¸¦ Á¦°øÇÕ´Ï´Ù.
Æ÷ÇÔÇÏ´Â navigatorContent È®ÀåÀÇ possibleChildren Ç¥Çö½Ä°ú ²ø¾î¿Â
¿ä¼Ò°¡ ÀÏÄ¡ÇÏ´Â µ¿½Ã¿¡ Á¶ÀÛÀÇ ³õ±â ´ë»óÀÌ dropAssistant ¿ä¼ÒÀÇ possibleDropTargets Ç¥Çö½Ä¿¡
¼³¸íµÈ °æ¿ì¿¡´Â Ç×»ó dropAssistant°¡ È£ÃâµË´Ï´Ù.
È®Àå¿¡´Â »óÈ£ ¹èŸÀûÀÎ
possibleDropTargets Ç¥Çö½ÄÀ» »ç¿ëÇÏ´Â ³õ±â ¾î´ðÅͰ¡ ¿©·¯ °³
ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. ÁöÁ¤µÈ ³õ±â ´ë»ó°ú ÀÏÄ¡Çϰí
CommonDropAdapterAssistant.validateDrop(...)
¿¡ ´ëÇØ È®ÀÎ »óŸ¦
¸®ÅÏÇϴ ù ¹øÂ° ³õ±â ¾î´ðÅÍ´Â ³õ±â¸¦ ó¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù.
org.eclipse.ui.navigator.CommonDropAdapterAssistant
±¸Çö<!ELEMENT possibleDropTargets (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
ƯÁ¤ dropAssistant°¡ ó¸®ÇÒ ¼ö ÀÖ´Â °¡´ÉÇÑ ³õ±â ´ë»óÀ» ¼³¸íÇÕ´Ï´Ù.
<!ELEMENT enablement (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
ÀÏ¹Ý ·çÆ® ¿ä¼Ò. ÀÌ ¿ä¼Ò´Â È®ÀåÁ¡ ³»¿¡¼ Enablement Ç¥Çö½ÄÀ» Á¤ÀÇÇÏ´Â µ¥ »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù. Enablement Ç¥Çö½ÄÀÇ ÇÏÀ§´Â and ¿¬»êÀÚ¸¦ »ç¿ëÇÏ¿© °áÇյ˴ϴÙ.
<!ELEMENT not (not | and | or | instanceof | test | systemTest | equals | count | with | resolve | adapt | iterate)>
ÀÌ ¿ä¼Ò´Â ÇØ´ç ÇÏÀ§ ¿ä¼Ò Ç¥Çö½Ä Æò°¡ °á°ú¿¡¼ NOT ¿¬»êÀ» ³ªÅ¸³À´Ï´Ù.
<!ELEMENT and (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
ÀÌ ¿ä¼Ò´Â ¸ðµç ÇØ´ç ÇÏÀ§ ¿ä¼Ò Ç¥Çö½Ä Æò°¡ °á°ú¿¡¼ AND ¿¬»êÀ» ³ªÅ¸³À´Ï´Ù.
<!ELEMENT or (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
ÀÌ ¿ä¼Ò´Â ¸ðµç ÇØ´ç ÇÏÀ§ ¿ä¼Ò Ç¥Çö½Ä Æò°¡ °á°ú¿¡¼ OR ¿¬»êÀ» ³ªÅ¸³À´Ï´Ù.
<!ELEMENT instanceof EMPTY>
<!ATTLIST instanceof
value CDATA #REQUIRED>
ÀÌ ¿ä¼Ò´Â ÃÊÁ¡ÀÌ µÈ ¿ÀºêÁ§Æ®ÀÇ instanceof °Ë»ç¸¦ ¼öÇàÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. ¿ÀºêÁ§Æ® À¯ÇüÀÌ ¼Ó¼º °ªÀ¸·Î ÁöÁ¤µÈ À¯ÇüÀÇ ÇÏÀ§ À¯ÇüÀÎ °æ¿ì Ç¥Çö½ÄÀº EvaluationResult.TRUE¸¦ ¸®ÅÏÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é EvaluationResult.FALSE¸¦ ¸®ÅÏÇÕ´Ï´Ù.
<!ELEMENT test EMPTY>
<!ATTLIST test
property CDATA #REQUIRED
args CDATA #IMPLIED
value CDATA #IMPLIED>
ÀÌ ¿ä¼Ò´Â ÃÊÁ¡ÀÌ µÈ ¿ÀºêÁ§Æ®ÀÇ Æ¯¼º »óŸ¦ Æò°¡ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. Ư¼º Å×½ºÅÍ È®ÀåÁ¡À» »ç¿ëÇÏ¿© Å×½ºÆ® °¡´ÉÇÑ Æ¯¼º ¼¼Æ®¸¦ È®ÀåÇÒ ¼ö ÀÖ½À´Ï´Ù. ½ÇÁ¦ Å×½ºÆ®¸¦ ¼öÇàÇϴ Ư¼º Å×½ºÅͰ¡ ¾ÆÁ÷ ·ÎµåµÇÁö ¾ÊÀº °æ¿ì Å×½ºÆ® Ç¥Çö½ÄÀº EvaluationResult.NOT_LOADED¸¦ ¸®ÅÏÇÕ´Ï´Ù.
<!ELEMENT systemTest EMPTY>
<!ATTLIST systemTest
property CDATA #REQUIRED
value CDATA #REQUIRED>
System.getProperty ¸Þ¼Òµå¸¦ È£ÃâÇÏ¿© ½Ã½ºÅÛ Æ¯¼ºÀ» Å×½ºÆ®ÇÑ ´ÙÀ½ ±× °á°ú¸¦ °ª ¼Ó¼ºÀ» ÅëÇØ ÁöÁ¤µÈ °ª°ú ºñ±³ÇÕ´Ï´Ù.
<!ELEMENT equals EMPTY>
<!ATTLIST equals
value CDATA #REQUIRED>
ÀÌ ¿ä¼Ò´Â ÃÊÁ¡ÀÌ µÈ ¿ÀºêÁ§Æ®ÀÇ equals °Ë»ç¸¦ ¼öÇàÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. ¿ÀºêÁ§Æ®°¡ ¼Ó¼º °ªÀ¸·Î Á¦°øµÈ °ª°ú µ¿ÀÏÇÑ °æ¿ì Ç¥Çö½ÄÀº EvaluationResult.TRUE¸¦ ¸®ÅÏÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é EvaluationResult.FALSE¸¦ ¸®ÅÏÇÕ´Ï´Ù.
<!ELEMENT count EMPTY>
<!ATTLIST count
value CDATA #REQUIRED>
ÀÌ ¿ä¼Ò´Â ÄÝ·º¼Ç¿¡ ÀÖ´Â ¿ä¼ÒÀÇ ¼ö¸¦ Å×½ºÆ®ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù.
<!ELEMENT with (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
<!ATTLIST with
variable CDATA #REQUIRED>
ÀÌ ¿ä¼Ò´Â ¸ðµç ÇÏÀ§ ¿ä¼Ò¸¦ °Ë»çÇØ¾ß ÇÏ´Â ¿ÀºêÁ§Æ®¸¦ Á¦°øµÈ º¯¼ö¿¡ ÀÇÇØ ÂüÁ¶µÇ´Â ¿ÀºêÁ§Æ®·Î º¯°æÇÕ´Ï´Ù. º¯¼ö¸¦ ºÐ¼®ÇÒ ¼ö ¾ø´Â °æ¿ì Ç¥Çö½ÄÀº Æò°¡ Áß¿¡ ExpressionExceptionÀ» ¹ß»ý½Ãŵ´Ï´Ù. with Ç¥Çö½ÄÀÇ ÇÏÀ§´Â and ¿¬»êÀÚ¸¦ »ç¿ëÇÏ¿© °áÇյ˴ϴÙ.
<!ELEMENT resolve (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
<!ATTLIST resolve
variable CDATA #REQUIRED
args CDATA #IMPLIED>
ÀÌ ¿ä¼Ò´Â ¸ðµç ÇÏÀ§ ¿ä¼Ò¸¦ °Ë»çÇØ¾ß ÇÏ´Â ¿ÀºêÁ§Æ®¸¦ Á¦°øµÈ º¯¼ö¿¡ ÀÇÇØ ÂüÁ¶µÇ´Â ¿ÀºêÁ§Æ®·Î º¯°æÇÕ´Ï´Ù. º¯¼ö¸¦ ºÐ¼®ÇÒ ¼ö ¾ø´Â °æ¿ì Ç¥Çö½ÄÀº Æò°¡ Áß¿¡ ExpressionExceptionÀ» ¹ß»ý½Ãŵ´Ï´Ù. with Ç¥Çö½ÄÀÇ ÇÏÀ§´Â and ¿¬»êÀÚ¸¦ »ç¿ëÇÏ¿© °áÇյ˴ϴÙ.
<!ELEMENT adapt (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
<!ATTLIST adapt
type CDATA #REQUIRED>
ÀÌ ¿ä¼Ò´Â ÃÊÁ¡ÀÌ µÈ ¿ÀºêÁ§Æ®¸¦ ¼Ó¼º À¯Çü¿¡ ÀÇÇØ ÁöÁ¤µÈ À¯ÇüÀ¸·Î ÀûÀÀ½ÃŰ´Â µ¥ »ç¿ëÇÕ´Ï´Ù. ÂüÁ¶µÈ À¯Çü ¶Ç´Â ¾î´ðÅͰ¡ ¾ÆÁ÷ ·ÎµåµÇÁö ¾ÊÀº °æ¿ì Ç¥Çö½ÄÀº ·ÎµåµÇÁö ¾ÊÀº »óŸ¦ ¸®ÅÏÇÕ´Ï´Ù. À¯Çü À̸§ÀÌ Á¸ÀçÇÏÁö ¾ÊÀ» °æ¿ì Æò°¡ Áß¿¡ ExpressionExceptionÀ» ¹ß»ý½Ãŵ´Ï´Ù. Adapt Ç¥Çö½ÄÀÇ ÇÏÀ§´Â and ¿¬»êÀÚ¸¦ »ç¿ëÇÏ¿© °áÇյ˴ϴÙ.
<!ELEMENT iterate (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
<!ATTLIST iterate
operator (or|and) >
ÀÌ ¿ä¼Ò´Â Java.util.Collection À¯ÇüÀÇ º¯¼ö¸¦ ¹Ýº¹ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. ÃÊÁ¡ÀÌ µÈ ¿ÀºêÁ§Æ®°¡ java.util.Collection À¯ÇüÀÌ ¾Æ´Ñ °æ¿ì Ç¥Çö½ÄÀº Æò°¡ Áß¿¡ ExpressionExceptionÀ» ¹ß»ý½Ãŵ´Ï´Ù.
´ÙÀ½Àº ÀÚ¿ø ÄÁÅÙÃ÷¸¦ Á¦°øÇÏ´Â ÄÁÅÙÃ÷ È®ÀåÀ» ¼³¸íÇÏ´Â ¿¹Á¦ÀÔ´Ï´Ù. triggerPoints Ç¥Çö½ÄÀº ÀÌ È®ÀåÀÌ Ãʱ⿡ È£ÃâµÇ´Â ½Ã±â¸¦ ÆÇº°ÇÕ´Ï´Ù. "isRoot" ¼Ó¼ºÀÌ true·Î ¼³Á¤µÈ ÀÌ È®Àå°ú viewerContentBindingÀÌ ÀÏÄ¡ÇÏ´Â °æ¿ì ·çÆ® ¿ä¼Ò°¡ triggerPoints Ç¥Çö½Ä°ú ÀÏÄ¡ÇÏ´ÂÁö ¿©ºÎ¿Í »ó°ü¾øÀÌ È®ÀåÀÌ »ç¿ëµË´Ï´Ù.
<extension point=
"org.eclipse.ui.navigator.navigatorContent"
>
<navigatorContent name=
"%resource.extension.name"
priority=
"low"
icon=
"icons/full/eview16/resource_persp.gif"
activeByDefault=
"true"
contentProvider=
"org.eclipse.ui.navigator.resources.internal.workbench.ResourceExtensionContentProvider"
labelProvider=
"org.eclipse.ui.navigator.resources.internal.workbench.ResourceExtensionLabelProvider"
sorter=
"org.eclipse.ui.navigator.resources.internal.workbench.ResourceSorter"
id=
"org.eclipse.ui.navigator.resourceContent"
>
<triggerPoints>
<or>
<instanceof value=
"org.eclipse.core.resources.IWorkspaceRoot"
/>
<instanceof value=
"org.eclipse.core.resources.IProject"
/>
<instanceof value=
"org.eclipse.core.resources.IFolder"
/>
</or>
</triggerPoints>
<possibleChildren>
<or>
<instanceof value=
"org.eclipse.core.resources.IWorkspaceRoot"
/>
<instanceof value=
"org.eclipse.core.resources.IProject"
/>
<instanceof value=
"org.eclipse.core.resources.IResource"
/>
<instanceof value=
"org.eclipse.core.resources.IFolder"
/>
<instanceof value=
"org.eclipse.core.resources.IFile"
/>
</or>
</possibleChildren>
</navigatorContent>
</extension>
Ŭ¶óÀÌ¾ðÆ®´Â ÇØ´ç º¸±â¿¡ ´ëÇÑ Á¶Ä¡¸¦ Á¦°øÇÏ´Â µ¥ ¿ÀºêÁ§Æ® ¶Ç´Â Ç¥½Ã±â ÄÁÆ®¸®ºä¼Ç(org.eclipse.ui.popupMenus ÂüÁ¶)À»
»ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. °¡²û¾¿ Ŭ¶óÀÌ¾ðÆ®¿¡´Â ÀÌ·¯ÇÑ ¹æ¹ý¿¡ ºñÇØ ´õ ¸¹Àº À¯¿¬¼ºÀÌ ÇÊ¿äÇÒ ¼ö ÀÖÀ¸¹Ç·Î
°øÅë ³×ºñ°ÔÀÌÅÍ ÇÁ·¹ÀÓ¿öÅ©´Â Á¶Ä¡ Á¦°øÀÚ Ãß°¡ ±â´ÉÀ»
Áö¿øÇÕ´Ï´Ù. "Á¶Ä¡ Á¦°øÀÚ"´Â org.eclipse.ui.actions.ActionGroup
¸¦ ¼ºêŬ·¡½ºÈÇϰí
¼·Î ´Ù¸¥ À̺¥Æ®(°¢°¢ ¼±Åà ¹× ¿À¸¥ÂÊ Å¬¸¯)¸¦ ±âÃÊ·Î Á¶Ä¡ Ç¥½ÃÁÙ ¹× ¸Þ´º¸¦ ä¿ï ¼ö ÀÖ½À´Ï´Ù.
Ŭ¶óÀÌ¾ðÆ®´Â Çϳª ÀÌ»óÀÇ Á¶Ä¡ Á¦°øÀÚ¸¦ ƯÁ¤ ÄÁÅÙÃ÷ È®Àå°ú ¿¬°ü½ÃŰ°Å³ª ƯÁ¤ ÄÁÅÙÃ÷ È®Àå°ú ¿¬°üµÇÁö ¾ÊÀº ÃÖ»óÀ§ ·¹º§ ÄÁÆ®¸®ºä¼ÇÀ¸·Î Á¶Ä¡ Á¦°øÀÚ¸¦ ¼±¾ðÇÒ ¼ö ÀÖ½À´Ï´Ù. ÃÖ»óÀ§ ·¹º§ Á¶Ä¡ Á¦°øÀÚ´Â org.eclipse.ui.navigator.viewer/viewerActionBinding È®ÀåÁ¡À» »ç¿ëÇÏ¿© ƯÁ¤ Ç¥½Ã±â ÀνºÅϽº¿Í ¿¬°üµÇ¾î¾ß ÇÕ´Ï´Ù. Æ÷ÇÔÇÏ´Â ÄÁÅÙÃ÷ È®ÀåÀÌ Ç¥½Ã±â¿¡ ¹ÙÀεåµÇ¾ú´ÂÁö ¿©ºÎ¿¡ µû¶ó ÁßøµÈ Á¶Ä¡ Á¦°øÀÚµµ ÇØ´ç Ç¥½Ã±â¿Í ÀÚµ¿À¸·Î ¹ÙÀεåµË´Ï´Ù(org.eclipse.ui.navigator/viewerContentBinding ÂüÁ¶).
´ÙÀ½ ¿¹Á¦¿¡¼´Â µÎ ¹æ¹ýÀ» ¸ðµÎ º¸¿©ÁÝ´Ï´Ù. "org.eclipse.ui.tests.navigator.testContent" È®ÀåÀÌ Ç¥½Ã ¹× Ȱ¼º »óÅÂÀÎ °æ¿ì¿¡¸¸
"TestNestedActionProvider"´Â ¸Þ´º ¹× org.eclipse.ui.IActionBars
¿¡ ÄÁÆ®¸®ºä¼ÇÇÒ ¼ö ÀÖ½À´Ï´Ù.
»ç¿ëÀÚ°¡ "»ç¿ë °¡´ÉÇÑ »ç¿ëÀÚ Á¤ÀÇ" ´ëÈ »óÀÚ¿¡¼ È®Àå Å×½ºÆ®¸¦ ºñȰ¼ºÈÇϸé
ÁßøµÈ Á¶Ä¡ Á¦°øÀÚ´Â ´õ ÀÌ»ó ÄÁÆ®¸®ºä¼ÇÇÒ ¼ö ¾ø½À´Ï´Ù.
<extension point=
"org.eclipse.ui.navigator.navigatorContent"
>
<navigatorContent id=
"org.eclipse.ui.tests.navigator.testContent"
name=
"%test.navigator.extension"
contentProvider=
"org.eclipse.ui.tests.navigator.extension.TestContentProvider"
labelProvider=
"org.eclipse.ui.tests.navigator.extension.TestLabelProvider"
activeByDefault=
"true"
priority=
"normal"
>
<triggerPoints>
<instanceof value=
"org.eclipse.core.resources.IProject"
/>
</triggerPoints>
<actionProvider class=
"org.eclipse.ui.tests.navigator.extension.TestNestedActionProvider"
id=
"org.eclipse.ui.tests.navigator.extension.TestNestedActionProvider"
>
<enablement>
<instanceof value=
"org.eclipse.core.resources.IResource"
/>
</enablement>
</actionProvider>
</navigatorContent>
<actionProvider class=
"org.eclipse.ui.navigator.resources.internal.actions.NewActionProvider"
id=
"org.eclipse.ui.navigator.resources.NewActions"
>
<enablement>
<or>
<adapt type=
"org.eclipse.core.resources.IFile"
/>
<adapt type=
"org.eclipse.core.resources.IFolder"
/>
<adapt type=
"org.eclipse.core.resources.IProject"
/>
<adapt type=
"org.eclipse.core.resources.IWorkspaceRoot"
/>
</or>
</enablement>
</actionProvider>
</extension>
Ŭ¶óÀÌ¾ðÆ®´Â org.eclipse.jface.viewers.ViewerFilter
¼ºêŬ·¡½º¸¦ »ç¿ëÇϰųª
Eclipse ÄÚ¾î Ç¥Çö½ÄÀ» ÅëÇØ ÇÊÅ͸¦ Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½ ¿¹Á¦¿¡¼´Â µÎ ¹æ¹ýÀ»
¸ðµÎ º¸¿©ÁÝ´Ï´Ù. Ŭ¶óÀÌ¾ðÆ®´Â µÎ ¿É¼Ç Áß Çϳª¸¸ »ç¿ëÇÒ
¼ö ÀÖ½À´Ï´Ù. ¿À·ù ½Ã µÎ °¡Áö ¸ðµÎ¸¦ ÁöÁ¤ÇÏ´Â È®ÀåÀº ÄÚ¾î Ç¥Çö½Ä ÇÊÅ͸¸
Àû¿ëµË´Ï´Ù. À̸§ ¹× ¼³¸í Çʵå´Â º¯È¯ °¡´ÉÇÏ¸ç ½ÇÁ¦ ȯ°æ¿¡¼ ±¸Ã¼ÈµÈ
¹®ÀÚ¿À̾î¾ß ÇÕ´Ï´Ù.
<extension point=
"org.eclipse.ui.navigator.navigatorContent"
>
<commonFilter class=
"org.eclipse.ui.tests.navigator.extension.TestItemsThatEndIn3"
description=
"Hide TestItem objects that end in the number "3""
id=
"org.eclipse.ui.tests.navigator.filters.TestItemsThatEndWith3"
name=
"TestItems that end with "3""
activeByDefault=
"true"
/>
<commonFilter description=
"Hides all instances of Test Item"
id=
"org.eclipse.ui.tests.navigator.filters.AllTestItems"
name=
"A TestItem Exp Filter (should be sorted alphab..)"
>
<filterExpression>
<instanceof value=
"org.eclipse.ui.tests.navigator.extension.TestExtensionTreeData"
/>
</filterExpression>
</commonFilter>
ÇØ´ç »óÀ§¿¡ µû¶ó ÇÏÀ§ ¼¼Æ®ÀÇ °øÅë Á¤·ÄÀÚ°¡ °áÁ¤µË´Ï´Ù. Á¤·ÄÀÚ Å¬·¡½º´Â
org.eclipse.jface.viewers.ViewerSorter
¸¦ ¼ºêŬ·¡½ºÈÇØ¾ß ÇÕ´Ï´Ù.
<extension point=
"org.eclipse.ui.navigator.navigatorContent"
>
<commonSorter class=
"org.eclipse.ui.navigator.resources.internal.workbench.ResourceExtensionSorter"
id=
"org.eclipse.ui.navigator.resources.sorters.defaultSorter"
>
<parentExpression>
<or>
<instanceof value=
"org.eclipse.core.resources.IWorkspaceRoot"
/>
<instanceof value=
"org.eclipse.core.resources.IProject"
/>
<instanceof value=
"org.eclipse.core.resources.IResource"
/>
<instanceof value=
"org.eclipse.core.resources.IFolder"
/>
<instanceof value=
"org.eclipse.core.resources.IFile"
/>
</or>
</parentExpression>
</commonSorter>
</extension>
´ÙÀ½ ¿¹Á¦¿¡¼´Â "»õ Æú´õ" ¹× "»õ ÆÄÀÏ"¿¡ ´ëÇÑ ¸¶¹ý»ç ¹Ù·Î °¡±â Á¶Ä¡¸¦ Ãß°¡ÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁÝ´Ï´Ù. ¿©±â¿¡¼ ÇØ´ç Á¶Ä¡´Â org.eclipse.core.resources.IResourceÀÇ Æ¯Á¤ ¼ºêŬ·¡½º¿¡ ´ëÇØ ÀÛµ¿ÇÕ´Ï´Ù. Ŭ¶óÀÌ¾ðÆ®´Â ¸Þ´º ¿É¼ÇÀÇ »ç¿ë ½Ã±â¸¦ ¼³¸íÇÏ´Â µ¥ ÇÊ¿äÇÑ org.eclipse.core.expressions ÆÄÆ® ¸ðµÎ¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¾Æ·¡ ÁöÁ¤µÈ ¸¶¹ý»ç ID´Â org.eclipse.ui.xxxWizards È®ÀåÁ¡ Áß Çϳª¿Í ÀÏÄ¡ÇØ¾ß ÇÕ´Ï´Ù.
ÀÚü Ç¥½Ã±â ¶Ç´Â º¸±â ÆÄÆ®¸¦ ºôµåÇϴ Ŭ¶óÀÌ¾ðÆ®´Â
org.eclipse.ui.navigator.WizardActionGroup
À» »ç¿ëÇÏ¿© ¸Þ´º¸¦ ÀûÀýÇϰÔ
ä¿ö¾ß ÇÕ´Ï´Ù. ÀÌ ±â´É »ç¿ë¹ý¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¹®¼´Â ÇØ´ç Ŭ·¡½º¸¦
ÂüÁ¶ÇϽʽÿÀ.
<extension point=
"org.eclipse.ui.navigator.navigatorContent"
>
<commonWizard type=
"new"
wizardId=
"org.eclipse.ui.wizards.new.folder"
>
<enablement>
<or>
<adapt type=
"org.eclipse.core.resources.IFile"
/>
<adapt type=
"org.eclipse.core.resources.IFolder"
/>
<adapt type=
"org.eclipse.core.resources.IProject"
/>
<adapt type=
"org.eclipse.core.resources.IWorkspaceRoot"
/>
</or>
</enablement>
</commonWizard>
<commonWizard type=
"new"
wizardId=
"org.eclipse.ui.wizards.new.file"
>
<enablement>
<or>
<adapt type=
"org.eclipse.core.resources.IFile"
/>
<adapt type=
"org.eclipse.core.resources.IFolder"
/>
<adapt type=
"org.eclipse.core.resources.IProject"
/>
<adapt type=
"org.eclipse.core.resources.IWorkspaceRoot"
/>
</or>
</enablement>
</commonWizard>
</extension>
Copyright (c) 2002, 2005 IBM Corporation and others.
All rights reserved. º» ÇÁ·Î±×·¥ ¹× º» ÇÁ·Î±×·¥¿¡ µ¿ºÀµÇ´Â ÀÚ·á´Â º» ¹èÆ÷¹°¿¡ µ¿ºÀµÇ´Â Eclipse Public License v1.0ÀÇ Á¶Ç׿¡ µû¶ó »ç¿ëÇØ¾ß Çϸç
À¥ »çÀÌÆ®(http://www.eclipse.org/legal/epl-v10.html)¿¡¼µµ °ü·Ã »çÇ×À» ÂüÁ¶ÇÒ ¼ö ÀÖ½À´Ï´Ù.