Class ExpressionUtil
- java.lang.Object
-
- org.eclipse.equinox.p2.metadata.expression.ExpressionUtil
-
public final class ExpressionUtil extends Object
Global access to factory, parser, and methods for introspection- Since:
- 2.0
- Restriction:
- This class is not intended to be subclassed by clients.
- Restriction:
- This class is not intended to be instantiated by clients.
-
-
Field Summary
Fields Modifier and Type Field Description static IExpressionFALSE_EXPRESSIONstatic IExpressionTRUE_EXPRESSION
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static IExpressionFactorygetFactory()Returns the global expression factorystatic IExpressiongetLHS(IExpression expression)Obtains the Left Hand Side (LHS) of a binary expression.static StringgetName(IExpression expression)Obtains the name of a variable or member expression.static IExpressiongetOperand(IExpression expression)Obtains the operand of an unary expressionstatic IExpression[]getOperands(IExpression expression)Obtains the operands of an n-ary expressionstatic IExpressionParsergetParser()Creates and returns a new expression parserstatic IExpressiongetRHS(IExpression expression)Obtains the Right Hand Side (RHS) of a binary expression.static ObjectgetValue(IExpression expression)Obtains the value of a literal expressionstatic IExpressionparse(String expression)Create a new expression.static IFilterExpressionparseLDAP(String filter)Parse an LDAP filter from thefilterstring.static IExpressionparseQuery(String expression)Create an arbitrary expression.static StringtrimmedOrNull(String str)Ifstrisnull, then this method returnsnull.
-
-
-
Field Detail
-
TRUE_EXPRESSION
public static final IExpression TRUE_EXPRESSION
-
FALSE_EXPRESSION
public static final IExpression FALSE_EXPRESSION
-
-
Method Detail
-
getFactory
public static IExpressionFactory getFactory()
Returns the global expression factory- Returns:
- The global expression factory.
-
getParser
public static IExpressionParser getParser()
Creates and returns a new expression parser- Returns:
- The new parser
-
parseLDAP
public static IFilterExpression parseLDAP(String filter) throws IllegalArgumentException
Parse an LDAP filter from thefilterstring. Iffilterisnullor a string that is empty or only consists of whitespace, then this method returnsnull.- Parameters:
filter- The filter to parse. Can benullor empty.- Returns:
- An expression that corresponds to the LDAP filter or
null. - Throws:
ExpressionParseException- If the syntax was invalidIllegalArgumentException
-
parse
public static IExpression parse(String expression)
Create a new expression. The expression will have access to the global variable 'this' and to the context parameters.- Parameters:
expression- The string representing the boolean expression.- Returns:
- The resulting expression tree.
- Throws:
ExpressionParseException- If the syntax was invalid
-
parseQuery
public static IExpression parseQuery(String expression)
Create an arbitrary expression. The expression will have access to the global variable 'everything' and to the context parameters.- Parameters:
expression- The string representing the boolean expression.- Returns:
- The resulting expression tree.
- Throws:
ExpressionParseException- If the syntax was invalid
-
trimmedOrNull
public static String trimmedOrNull(String str)
Ifstrisnull, then this method returnsnull. Otherwisestris trimmed from whitespace at both ends. If the result of the trim is an empty string, thennullis returned, otherwise the result of the trim is returned.- Parameters:
str- The string to trim. Can benull.- Returns:
- The trimmed string or
null.
-
getLHS
public static IExpression getLHS(IExpression expression)
Obtains the Left Hand Side (LHS) of a binary expression.- Parameters:
expression- The expression to introspect- Returns:
- The left hand side operator
- Throws:
IllegalArgumentException- if the expression is not a binary expression- See Also:
IExpression.TYPE_AT,IExpression.TYPE_EQUALS,IExpression.TYPE_GREATER,IExpression.TYPE_GREATER_EQUAL,IExpression.TYPE_LESS,IExpression.TYPE_LESS_EQUAL,IExpression.TYPE_MATCHES,IExpression.TYPE_NOT_EQUALS
-
getName
public static String getName(IExpression expression)
Obtains the name of a variable or member expression.- Parameters:
expression- The expression to introspect- Returns:
- The name of the expression
- Throws:
IllegalArgumentException- if the expression is not a variable or a member- See Also:
IExpression.TYPE_MEMBER,IExpression.TYPE_VARIABLE
-
getOperand
public static IExpression getOperand(IExpression expression)
Obtains the operand of an unary expression- Parameters:
expression- The expression to introspect- Returns:
- The expression operand
- Throws:
IllegalArgumentException- if the expression is not an unary expression- See Also:
IExpression.TYPE_ALL,IExpression.TYPE_EXISTS,IExpression.TYPE_LAMBDA,IExpression.TYPE_NOT
-
getOperands
public static IExpression[] getOperands(IExpression expression)
Obtains the operands of an n-ary expression- Parameters:
expression- The expression to introspect- Returns:
- The expression operand
- Throws:
IllegalArgumentException- if the expression is not a n-ary expression- See Also:
IExpression.TYPE_AND,IExpression.TYPE_OR
-
getRHS
public static IExpression getRHS(IExpression expression)
Obtains the Right Hand Side (RHS) of a binary expression.- Parameters:
expression- The expression to introspect- Returns:
- The right hand side operator
- Throws:
IllegalArgumentException- if the expression is not a binary expression- See Also:
IExpression.TYPE_AT,IExpression.TYPE_EQUALS,IExpression.TYPE_GREATER,IExpression.TYPE_GREATER_EQUAL,IExpression.TYPE_LESS,IExpression.TYPE_LESS_EQUAL,IExpression.TYPE_MATCHES,IExpression.TYPE_NOT_EQUALS
-
getValue
public static Object getValue(IExpression expression)
Obtains the value of a literal expression- Parameters:
expression- The expression to introspect- Returns:
- The literal value
- Throws:
IllegalArgumentException- if the expression is not a literal- See Also:
IExpression.TYPE_LITERAL
-
-