Package org.eclipse.core.expressions

## Interface IPropertyTester

All Known Implementing Classes:
  `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

All Methods Instance Methods Abstract Methods
`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 Detail

#### 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