Interface IMatchExpression<T>
-
- All Superinterfaces:
IExpression
public interface IMatchExpression<T> extends IExpression
A match expression is a boolean expression matching a candidate of a specific type. AnIEvaluationContext
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 toisMatch(IEvaluationContext, Object)
or, if no repeated calls are expected, theisMatch(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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description IEvaluationContext
createContext()
Creates a new context to be passed to repeated subsequent evaluations.Object[]
getParameters()
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
isMatch(T candidate)
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, toString
-
-
-
-
Method Detail
-
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
boolean isMatch(T candidate)
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
boolean isMatch(IEvaluationContext context, T candidate)
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.
-
-