|
Eclipse Platform Release 3.6 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.eclipse.core.expressions.PropertyTester
public abstract class PropertyTester
Abstract superclass of all property testers. Implementation classes of
the extension point org.eclipse.core.expresssions.propertyTesters
must extend PropertyTester.
A property tester implements the property tests enumerated in the property tester extension point. For the following property test extension
<propertyTester
namespace="org.eclipse.jdt.core"
id="org.eclipse.jdt.core.IPackageFragmentTester"
properties="isDefaultPackage"
type="org.eclipse.jdt.core.IPackageFragment"
class="org.eclipse.demo.MyPackageFragmentTester">
</propertyTester>
the corresponding implementation class looks like:
public class MyPackageFragmentTester {
public boolean test(Object receiver, String property, Object[] args, Object expectedValue) {
IPackageFragment fragment= (IPackageFragment)receiver;
if ("isDefaultPackage".equals(property)) {
return expectedValue == null
? fragment.isDefaultPackage()
: fragment.isDefaultPackage() == ((Boolean)expectedValue).booleanValue();
}
Assert.isTrue(false);
return false;
}
}
The property can then be used in a test expression as follows:
<instanceof value="org.eclipse.core.IPackageFragment"/> <test property="org.eclipse.jdt.core.isDefaultPackage"/>
There is no guarantee that the same instance of a property tester is used to handle <test property="..."/> requests. So property testers should always be implemented in a stateless fashion.
| Constructor Summary | |
|---|---|
PropertyTester()
|
|
| Method Summary | |
|---|---|
boolean |
handles(java.lang.String namespace,
java.lang.String property)
Returns whether the property tester can handle the given property or not. |
IPropertyTester |
instantiate()
Loads the implementation class for this property tester and returns an instance of this class. |
org.eclipse.core.internal.expressions.PropertyTesterDescriptor |
internalCreateDescriptor()
Note: this method is for internal use only. |
void |
internalInitialize(org.eclipse.core.internal.expressions.PropertyTesterDescriptor descriptor)
Initialize the property tester with the given name space and property. |
boolean |
isDeclaringPluginActive()
Returns true if the implementation class of this property
tester can be loaded. |
boolean |
isInstantiated()
Returns whether the implementation class for this property tester is loaded or not. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.eclipse.core.expressions.IPropertyTester |
|---|
test |
| Constructor Detail |
|---|
public PropertyTester()
| Method Detail |
|---|
public final void internalInitialize(org.eclipse.core.internal.expressions.PropertyTesterDescriptor descriptor)
Note: this method is for internal use only. Clients must not call this method.
descriptor - the descriptor object for this testerpublic final org.eclipse.core.internal.expressions.PropertyTesterDescriptor internalCreateDescriptor()
public final boolean handles(java.lang.String namespace,
java.lang.String property)
handles in interface IPropertyTesternamespace - the name space to be consideredproperty - the property to test
true if the tester provides an implementation
for the given property; otherwise false is returnedpublic final boolean isInstantiated()
isInstantiated in interface IPropertyTestertrueif the implementation class is loaded;
false otherwisepublic boolean isDeclaringPluginActive()
true if the implementation class of this property
tester can be loaded. This is the case if the plug-in providing
the implementation class is active. Returns false otherwise.
isDeclaringPluginActive in interface IPropertyTesterpublic final IPropertyTester instantiate()
instantiate in interface IPropertyTester
|
Eclipse Platform Release 3.6 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
Guidelines for using Eclipse APIs.
Copyright (c) Eclipse contributors and others 2000, 2010. All rights reserved.