私はEclipseプラグインを構築しており、タイプAの要素の構造を表示するツリー表現があります(以下を参照)。
Class A{
List<B> children;
}
Abstract Class B{
...
}
Class C extend B{
...
}
Class D extend B{
...
}
3つのうち選択した要素がAのインスタンスである場合にのみ開始できるコマンドがあります。これは、私が使用している式です。
<extension point="org.eclipse.core.expressions.definitions">
<definition id="SelectionOfA">
<with variable="selection">
<and>
<count value="1"></count>
<iterate ifEmpty="false" operator="or">
<instanceof value="A"></instanceof>
</iterate>
</and>
</with>
</definition>
</extension>
ここで、この条件を改善したいと思います。Aのインスタンスが選択され、リストの子に少なくともCのインスタンスである要素が含まれている場合にのみ、コマンドを有効にします。この式を保持し、新しい式を定義してみました。次に、両方の式が真の場合にのみコマンドを有効にします。instanceof
上記の式から始めて、タグをタグwith
に置き換えようとしましたがiterate
、adapt
良い結果は得られませんでした。
どうすればいいですか?