Package org.eclipse.core.expressions
Class Expression
- java.lang.Object
-
- org.eclipse.core.expressions.Expression
-
- Direct Known Subclasses:
ActiveShellExpression
,CompositeExpression
,CountExpression
,EqualsExpression
,LegacyHandlerSubmissionExpression
,ReferenceExpression
,TestExpression
public abstract class Expression extends 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
Fields Modifier and Type Field Description protected static String
ATT_VALUE
Name of the value attribute of an expression (value isvalue
).static Expression
FALSE
The expression corresponding toEvaluationResult.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 toEvaluationResult.TRUE
.
-
Constructor Summary
Constructors Constructor Description Expression()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description 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(Object[] leftArray, Object[] rightArray)
Tests whether two arrays of objects are equal to each other.protected static boolean
equals(Object left, Object right)
Checks whether two objects are equal using theequals(Object)
method of theleft
object.abstract EvaluationResult
evaluate(IEvaluationContext context)
Evaluates this expression.int
hashCode()
protected static int
hashCode(Object object)
Returns the hash code for the givenobject
.protected static int
hashCode(Object[] array)
Returns the hash code for the given array.
-
-
-
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 String ATT_VALUE
Name of the value attribute of an expression (value isvalue
).- See Also:
- Constant Field Values
-
TRUE
public static final Expression TRUE
The expression corresponding toEvaluationResult.TRUE
.
-
FALSE
public static final Expression FALSE
The expression corresponding toEvaluationResult.FALSE
.
-
-
Method Detail
-
equals
protected static final boolean equals(Object left, Object right)
Checks whether two objects are equal using theequals(Object)
method of theleft
object. This method handlesnull
for either theleft
orright
object.- Parameters:
left
- the first object to compare; may benull
.right
- the second object to compare; may benull
.- Returns:
true
if the two objects are equivalent;false
otherwise.- Since:
- 3.2
-
equals
protected static final boolean equals(Object[] leftArray, Object[] rightArray)
Tests whether two arrays of objects are equal to each other. The arrays must not benull
, but their elements may benull
.- Parameters:
leftArray
- the left array to compare; may benull
, and may be empty and may containnull
elements.rightArray
- the right array to compare; may benull
, and may be empty and may containnull
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(Object object)
Returns the hash code for the givenobject
. This method handlesnull
.- Parameters:
object
- the object for which the hash code is desired; may benull
.- Returns:
- The hash code of the object; zero if the object is
null
. - Since:
- 3.2
-
hashCode
protected static final int hashCode(Object[] array)
Returns the hash code for the given array. This method handlesnull
.- Parameters:
array
- the array for which the hash code is desired; may benull
.- 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()
Computes the expression information for the given expression tree.This is a convenience method for collecting the expression information using
collectExpressionInfo(ExpressionInfo)
.- Returns:
- the expression information
- Since:
- 3.2
-
collectExpressionInfo
public void collectExpressionInfo(ExpressionInfo info)
Collects information about this expression tree. This default implementation add the expression's type to the set of misbehaving expression types.- Parameters:
info
- the expression information object used to collect the information- Since:
- 3.2
-
computeHashCode
protected int computeHashCode()
Method to compute the hash code for this object. The result returned from this method in cached in thefHashCode
field. If the value returned from the method equalsHASH_CODE_NOT_COMPUTED
(e.g.-1
) then the value is incremented by one.This default implementation calls
super.hashCode()
- Returns:
- a hash code for this object.
- Since:
- 3.2
-
-