Package org.eclipse.core.expressions

# Interface IPropertyTester

All Known Implementing Classes:
  `OpenPerspectivePropertyTester`, `PartTaggedAsEditorPropertyTester`, `PropertyTester`

public interface IPropertyTester
A property tester can be used to add additional properties to test to an existing type.

This interface is not intended to be implemented by clients. Clients should subclass type `PropertyTester`.

Since:
  3.0
Restriction:
  This interface is not intended to be implemented by clients.
Restriction:
  This interface is not intended to be extended by clients.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`handles(String namespace, 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.
`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.
`boolean`
`test(Object receiver, String property, Object[] args, Object expectedValue)`
Executes the property test determined by the parameter `property`.

## Method Details

### handles

boolean handles(String namespace, String property)
Returns whether the property tester can handle the given property or not.

Parameters:
  `namespace` - the name space to be considered
  `property` - the property to test
Returns:
  `true` if the tester provides an implementation for the given property; otherwise `false` is returned

### isInstantiated

boolean isInstantiated()
Returns whether the implementation class for this property tester is loaded or not.

Returns:
  `true`if the implementation class is loaded; `false` otherwise

### isDeclaringPluginActive

boolean isDeclaringPluginActive()
Returns `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.

Returns:
  whether the implementation class can be loaded or not

### instantiate

IPropertyTester instantiate() throws CoreException
Loads the implementation class for this property tester and returns an instance of this class.

Returns:
  an instance of the implementation class for this property tester
Throws:
  `CoreException` - if the implementation class cannot be loaded

### test

boolean test(Object receiver, String property, Object[] args, Object expectedValue)
Executes the property test determined by the parameter `property`.

Parameters:
  `receiver` - the receiver of the property test
  `property` - the property to test
  `args` - additional arguments to evaluate the property. If no arguments are specified in the `test` expression an array of length 0 is passed
  `expectedValue` - the expected value of the property. The value is either of type `java.lang.String` or a boxed base type. If no value was specified in the `test` expressions then `null` is passed
Returns:
  returns `true` if the property is equal to the expected value; otherwise `false` is returned