导航器链接辅助控件

org.eclipse.ui.navigator.linkHelper

3.2

为那些希望扩展公共导航器的“使用编辑器链接”功能的客户机提供挂钩。

<!ELEMENT extension (linkHelper)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED>


<!ELEMENT linkHelper (editorInputEnablement , selectionEnablement?)>

<!ATTLIST linkHelper

class CDATA #REQUIRED

id    CDATA #REQUIRED>


<!ELEMENT editorInputEnablement (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

这是 Eclipse 核心表达式,它描述此辅助控件何时能够从编辑器输入中提供选择。



<!ELEMENT selectionEnablement (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

这是 Eclipse 核心表达式,它描述此扩展何时能够为给定选择提供 IEditorInput。



<!ELEMENT enablement (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

通用根元素。可以在扩展点内使用该元素来定义它的支持表达式。将使用 and 运算符来组合 enablement 表达式的子代。



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

此元素用来对焦点中的对象执行等于检查。如果对象等于由属性值提供的值,则表达式返回 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。将使用 and 运算符来组合 with 表达式的子代。



<!ELEMENT resolve (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

<!ATTLIST resolve

variable CDATA #REQUIRED

args     CDATA #IMPLIED>

此元素将把要检查以获取其所有子元素的对象更改为由给定变量引用的对象。如果不能解析变量,则表达式将在对变量求值时抛出 ExpressionException。将使用 and 运算符来组合 with 表达式的子代。



<!ELEMENT adapt (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

<!ATTLIST adapt

type CDATA #REQUIRED>

此元素用来使焦点中的对象适用于由属性类型指定的类型。如果尚未装入适配器或引用的类型,则表达式返回 not loaded。如果类型名称根本不存在,则表达式在求值期间将抛出 ExpressionException。将使用 and 运算符来组合 adapt 表达式的子代。



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



    

<extension point=

"org.eclipse.ui.navigator.linkHelper"

>

<linkHelper class=

"org.eclipse.ui.internal.navigator.resources.workbench.ResourceLinkHelper"

id=

"org.eclipse.ui.navigator.resources.linkHelper"

>

<selectionEnablement>

<instanceof value=

"org.eclipse.core.resources.IFile"

/>

</selectionEnablement>

<editorInputEnablement>

<instanceof value=

"org.eclipse.ui.IFileEditorInput"

/>

</editorInputEnablement>

</linkHelper>

</extension>