public abstract class Expression extends java.lang.Object implements IExpression, java.lang.Comparable<Expression>, IExpressionConstants
| Modifier and Type | Class and Description |
|---|---|
static class |
Expression.VariableFinder |
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_VARIABLEKEYWORD_ALL, KEYWORD_BOOLEAN, KEYWORD_CLASS, KEYWORD_COLLECT, KEYWORD_EXISTS, KEYWORD_FALSE, KEYWORD_FILTER, KEYWORD_FIRST, KEYWORD_FLATTEN, KEYWORD_INTERSECT, KEYWORD_IQUERY, KEYWORD_LATEST, KEYWORD_LIMIT, KEYWORD_LOCALIZED_KEYS, KEYWORD_LOCALIZED_MAP, KEYWORD_LOCALIZED_PROPERTY, KEYWORD_NULL, KEYWORD_RANGE, KEYWORD_SATISFIES_ALL, KEYWORD_SATISFIES_ANY, KEYWORD_SELECT, KEYWORD_SET, KEYWORD_TRAVERSE, KEYWORD_TRUE, KEYWORD_UNION, KEYWORD_UNIQUE, KEYWORD_VERSION, OPERATOR_AND, OPERATOR_ARRAY, OPERATOR_ASSIGN, OPERATOR_AT, OPERATOR_EACH, OPERATOR_ELSE, OPERATOR_EQUALS, OPERATOR_GT, OPERATOR_GT_EQUAL, OPERATOR_IF, OPERATOR_LT, OPERATOR_LT_EQUAL, OPERATOR_MATCHES, OPERATOR_MEMBER, OPERATOR_NOT, OPERATOR_NOT_EQUALS, OPERATOR_OR, OPERATOR_PARAMETER, PRIORITY_AND, PRIORITY_ASSIGNMENT, PRIORITY_BINARY, PRIORITY_COLLECTION, PRIORITY_COMMA, PRIORITY_CONDITION, PRIORITY_FUNCTION, PRIORITY_LAMBDA, PRIORITY_LITERAL, PRIORITY_MAX, PRIORITY_MEMBER, PRIORITY_NOT, PRIORITY_OR, PRIORITY_VARIABLE, VARIABLE_EVERYTHING, VARIABLE_THIS| Constructor and Description |
|---|
Expression() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
accept(IExpressionVisitor visitor)
Let the visitor visit this instance and all expressions that this
instance contains.
|
static void |
appendOperand(java.lang.StringBuffer bld,
Variable rootVariable,
Expression operand,
int priority) |
static Expression[] |
assertLength(Expression[] operands,
int minLength,
int maxLength,
java.lang.String operand) |
static Expression[] |
assertLength(Expression[] operands,
int length,
java.lang.String operand) |
static int |
compare(Expression[] arr1,
Expression[] arr2) |
int |
compareTo(Expression e) |
static void |
elementsToString(java.lang.StringBuffer bld,
Variable rootVariable,
Expression[] elements) |
static boolean |
equals(Expression[] arr1,
Expression[] arr2) |
boolean |
equals(java.lang.Object e) |
abstract java.lang.Object |
evaluate(IEvaluationContext context)
Evaluate this expression with given context and variables.
|
java.util.Iterator<?> |
evaluateAsIterator(IEvaluationContext context) |
static java.util.List<java.lang.String> |
getIndexCandidateMembers(java.lang.Class<?> elementClass,
Variable itemVariable,
Expression operand) |
abstract java.lang.String |
getOperator() |
abstract int |
getPriority() |
static int |
hashCode(Expression[] arr) |
boolean |
isReferenceTo(Variable variable) |
boolean |
needsTranslationSupport()
Checks if the expression will make repeated requests for the 'everything' iterator.
|
java.lang.String |
toLDAPString() |
void |
toLDAPString(java.lang.StringBuffer buf)
Appends the an LDAP filter representation of this expression to the
collector. |
java.lang.String |
toString() |
void |
toString(java.lang.StringBuffer bld)
Appends the string representation of this expression to the collector
collector. |
abstract void |
toString(java.lang.StringBuffer bld,
Variable rootVariable) |
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetExpressionTypepublic static void appendOperand(java.lang.StringBuffer bld,
Variable rootVariable,
Expression operand,
int priority)
public static Expression[] assertLength(Expression[] operands, int minLength, int maxLength, java.lang.String operand)
public static Expression[] assertLength(Expression[] operands, int length, java.lang.String operand)
public static int compare(Expression[] arr1, Expression[] arr2)
public static boolean equals(Expression[] arr1, Expression[] arr2)
public static int hashCode(Expression[] arr)
public static void elementsToString(java.lang.StringBuffer bld,
Variable rootVariable,
Expression[] elements)
public static java.util.List<java.lang.String> getIndexCandidateMembers(java.lang.Class<?> elementClass,
Variable itemVariable,
Expression operand)
public boolean accept(IExpressionVisitor visitor)
accept in interface IExpressionvisitor - The visiting visitor.true if the visitor should continue visiting, false otherwise.public int compareTo(Expression e)
compareTo in interface java.lang.Comparable<Expression>public boolean equals(java.lang.Object e)
equals in class java.lang.Objectpublic abstract java.lang.Object evaluate(IEvaluationContext context)
evaluate in interface IExpressioncontext - The evaluation contextpublic java.util.Iterator<?> evaluateAsIterator(IEvaluationContext context)
public abstract java.lang.String getOperator()
public abstract int getPriority()
public boolean isReferenceTo(Variable variable)
public final java.lang.String toLDAPString()
public void toLDAPString(java.lang.StringBuffer buf)
IExpressioncollector.toLDAPString in interface IExpressionpublic final java.lang.String toString()
toString in class java.lang.Objectpublic void toString(java.lang.StringBuffer bld)
IExpressioncollector.toString in interface IExpressionpublic abstract void toString(java.lang.StringBuffer bld,
Variable rootVariable)
public boolean needsTranslationSupport()
true if repeated requests will be made, false if not.