org.eclipse.core.expressions.definitions不适用于equals

时间:2014-06-18 13:02:47

标签: java eclipse swt expression e4

我目前正在开始使用Eclipse e4 SWT并且核心表达式存在问题。

我正在尝试设置核心表达式,以便可选地显示树视图中的弹出菜单项。

当我将表达式定义为myof的instanceof时,它工作正常;如果instanceof是MyObject,则显示菜单项,不显示某个其他对象的实例。

然后我尝试将菜单项显示为等于某个值,我无法让它工作。

即使值正确,菜单项也不会显示。我有一个0到4的整数范围,所以想要显示特定整数值的某些菜单项。

我尝试将值与Integer和String进行比较,但没有菜单项显示,但当我将其更改为instanceof Integer或String时,它们会显示。

有谁能告诉我等于应该如何运作?

1 个答案:

答案 0 :(得分:0)

equals仅适用于String,Boolean,Integer或Float类型的对象。例如,这来自Ant编辑器:

<extension
       point="org.eclipse.core.expressions.definitions">
    <definition
          id="org.eclipse.ant.ui.activeAntEditor">
       <with
             variable="activeEditorId">
          <equals
                value="org.eclipse.ant.ui.internal.editor.AntEditor">
          </equals>
       </with>
    </definition>
 </extension>

这是测试变量activeEditorId,它是一个String,并将它与String值'org.eclipse.ant.ui.internal.editor.AntEditor'匹配。

当前选择等变量通常不是受支持的类型之一,因此'equals'将返回false。