Я могу проверить тип проекта, который я хочу, например, используя
<instanceof value="org.eclipse.core.resources.IProject"/>
<test property="org.eclipse.core.resources.projectNature"
value="org.eclipse.wst.jsdt.core.jsNature"/>
в моей команде для всплывающего меню и затем отобразить соответствующий пункт меню.Однако необходимо проверить некоторые сложные условия, поэтому меня попросили использовать тестер свойств.Ниже приведен выдержка из файла plugin.xml:
<with variable="selection">
<test forcePluginActivation="true"
property="testWizard.propertyTester.checkFolder"/>
<extension
point="org.eclipse.core.expressions.propertyTesters">
<propertyTester
class="testwizard.wizards.MyPropTester"
id="MyPropTester"
namespace="testWizard.propertyTester"
properties="checkFolder"
type="org.eclipse.core.resources.IProject">
</propertyTester>
</extension>
... и Java-код PropertyTester:
package testwizard.wizards;
import org.eclipse.core.internal.propertytester.ResourcePropertyTester;
import org.eclipse.core.resources.IResource;
@SuppressWarnings("restriction")
public class MyPropTester extends ResourcePropertyTester {
@Override
public boolean test(Object receiver, String property, Object[] args,
Object expectedValue) {
IResource res = (IResource) receiver;
if(res instanceof IProject)
{
return true;
}
return false;
}
}
Я довольно новичок в использовании тестеров свойств, я очень признателен за этоЕсли бы кто-то мог направить меня, где мои ошибки.