Eclipse Platform
Release 3.2

org.eclipse.core.expressions
Class Expression

java.lang.Object
  extended byorg.eclipse.core.expressions.Expression
Direct Known Subclasses:
ActiveShellExpression, LegacyHandlerSubmissionExpression

public abstract class Expression
extends java.lang.Object

Abstract base class for all expressions provided by the common expression language.

An expression is evaluated by calling evaluate(IEvaluationContext).

This class may be subclassed to provide specific expressions.

Since:
3.0

Field Summary
protected static java.lang.String ATT_VALUE
          Name of the value attribute of an expression (value is value).
static Expression FALSE
          The expression corresponding to EvaluationResult.FALSE.
protected static int HASH_CODE_NOT_COMPUTED
          The constant integer hash code value meaning the hash code has not yet been computed.
protected static int HASH_FACTOR
          A factor for computing the hash code for all expressions.
static Expression TRUE
          The expression corresponding to EvaluationResult.TRUE.
 
Constructor Summary
Expression()
           
 
Method Summary
 void collectExpressionInfo(ExpressionInfo info)
          Collects information about this expression tree.
 ExpressionInfo computeExpressionInfo()
          Computes the expression information for the given expression tree.
protected  int computeHashCode()
          Method to compute the hash code for this object.
protected static boolean equals(java.lang.Object[] leftArray, java.lang.Object[] rightArray)
          Tests whether two arrays of objects are equal to each other.
protected static boolean equals(java.lang.Object left, java.lang.Object right)
          Checks whether two objects are equal using the equals(Object) method of the left object.
abstract  EvaluationResult evaluate(IEvaluationContext context)
          Evaluates this expression.
 int hashCode()
          
protected static int hashCode(java.lang.Object object)
          Returns the hash code for the given object.
protected static int hashCode(java.lang.Object[] array)
          Returns the hash code for the given array.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

HASH_CODE_NOT_COMPUTED

protected static final int HASH_CODE_NOT_COMPUTED
The constant integer hash code value meaning the hash code has not yet been computed.

See Also:
Constant Field Values

HASH_FACTOR

protected static final int HASH_FACTOR
A factor for computing the hash code for all expressions.

See Also:
Constant Field Values

ATT_VALUE

protected static final java.lang.String ATT_VALUE
Name of the value attribute of an expression (value is value).

See Also:
Constant Field Values

TRUE

public static final Expression TRUE
The expression corresponding to EvaluationResult.TRUE.


FALSE

public static final Expression FALSE
The expression corresponding to EvaluationResult.FALSE.

Constructor Detail

Expression

public Expression()
Method Detail

equals

protected static final boolean equals(java.lang.Object left,
                                      java.lang.Object right)
Checks whether two objects are equal using the equals(Object) method of the left object. This method handles null for either the left or right object.

Parameters:
left - the first object to compare; may be null.
right - the second object to compare; may be null.
Returns:
true if the two objects are equivalent; false otherwise.
Since:
3.2

equals

protected static final boolean equals(java.lang.Object[] leftArray,
                                      java.lang.Object[] rightArray)
Tests whether two arrays of objects are equal to each other. The arrays must not be null, but their elements may be null.

Parameters:
leftArray - the left array to compare; may be null, and may be empty and may contain null elements.
rightArray - the right array to compare; may be null, and may be empty and may contain null elements.
Returns:
true if the arrays are equal length and the elements at the same position are equal; false otherwise.
Since:
3.2

hashCode

protected static final int hashCode(java.lang.Object object)
Returns the hash code for the given object. This method handles null.

Parameters:
object - the object for which the hash code is desired; may be null.
Returns:
The hash code of the object; zero if the object is null.
Since:
3.2

hashCode

protected static final int hashCode(java.lang.Object[] array)
Returns the hash code for the given array. This method handles null.

Parameters:
array - the array for which the hash code is desired; may be null.
Returns:
the hash code of the array; zero if the object is null.
Since:
3.2

evaluate

public abstract EvaluationResult evaluate(IEvaluationContext context)
                                   throws CoreException
Evaluates this expression.

Parameters:
context - an evaluation context providing information like variable, name spaces, etc. necessary to evaluate this expression
Returns:
the result of the expression evaluation
Throws:
CoreException - if the evaluation failed. The concrete reason is defined by the subclass implementing this method

computeExpressionInfo

public final ExpressionInfo computeExpressionInfo()