Interface IMatchExpression<T>
- All Superinterfaces:
IExpression
A match expression is a boolean expression matching a candidate of a
specific type. An
IEvaluationContext
is needed in order to evaluate
a match and this class provides two ways of doing that. Either a context
is created first and then reused in several subsequent calls to
isMatch(IEvaluationContext, Object)
or, if no repeated calls are
expected, the isMatch(Object)
method can be used. It will then
create a context on each call.- Since:
- 2.0
-
Field Summary
Fields inherited from interface org.eclipse.equinox.p2.metadata.expression.IExpression
TYPE_ALL, TYPE_AND, TYPE_ARRAY, TYPE_ASSIGNMENT, TYPE_AT, TYPE_COLLECT, TYPE_CONDITION, TYPE_EQUALS, TYPE_EXISTS, TYPE_FIRST, TYPE_FLATTEN, TYPE_FUNCTION, TYPE_GREATER, TYPE_GREATER_EQUAL, TYPE_INTERSECT, TYPE_LAMBDA, TYPE_LATEST, TYPE_LESS, TYPE_LESS_EQUAL, TYPE_LIMIT, TYPE_LITERAL, TYPE_MATCHES, TYPE_MEMBER, TYPE_NOT, TYPE_NOT_EQUALS, TYPE_OR, TYPE_PARAMETER, TYPE_PIPE, TYPE_SELECT, TYPE_TRAVERSE, TYPE_UNION, TYPE_UNIQUE, TYPE_VARIABLE
-
Method Summary
Modifier and TypeMethodDescriptionCreates a new context to be passed to repeated subsequent evaluations.Object[]
Returns the parameters that this match expression was created with.boolean
isMatch
(IEvaluationContext context, T candidate) This method assignscandidate
to the 'this' variable of thecontext
and then evaluates the expression.boolean
This method creates a new evaluation context and assigns thecandidate
to the 'this' variable of thecontext
and then evaluates the expression.Methods inherited from interface org.eclipse.equinox.p2.metadata.expression.IExpression
accept, evaluate, getExpressionType, toLDAPString, toLDAPString, toString, toString
-
Method Details
-
createContext
IEvaluationContext createContext()Creates a new context to be passed to repeated subsequent evaluations. The context will introduce 'this' as an uninitialized variable and make the parameters available.
- Returns:
- A new evaluation context.
-
getParameters
Object[] getParameters()Returns the parameters that this match expression was created with.- Returns:
- An array of parameters, possibly empty but never
null
.
-
isMatch
This method creates a new evaluation context and assigns thecandidate
to the 'this' variable of thecontext
and then evaluates the expression. This is essentially a short form forisMatch(createContext(), candidate)
.- Parameters:
candidate
- The object to test.- Returns:
- the result of the evaluation.
-
isMatch
This method assignscandidate
to the 'this' variable of thecontext
and then evaluates the expression.- Parameters:
context
- A contextcandidate
- The object to test.- Returns:
- the result of the evaluation.
-