public final class CollectionExpression extends AbstractExpression
CollectionExpression
wraps many expression which they are separated by spaces
and/or commas.
expression ::= child_item {, child_item }*
expression ::= child_item { child_item }*
COMMA, DOT, DOUBLE_QUOTE, LEFT_CURLY_BRACKET, LEFT_PARENTHESIS, NOT_DEFINED, RIGHT_CURLY_BRACKET, RIGHT_PARENTHESIS, SINGLE_QUOTE, SPACE, UNDERSCORE
ABS, ALL, AND, ANY, AS, ASC, AVG, BETWEEN, BIT_LENGTH, BOTH, CASE, CHAR_LENGTH, CHARACTER_LENGTH, CLASS, COALESCE, CONCAT, COUNT, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, DELETE, DELETE_FROM, DESC, DIFFERENT, DISTINCT, DIVISION, ELSE, EMPTY, END, ENTRY, EQUAL, ESCAPE, EXISTS, FALSE, FETCH, FROM, FUNC, GREATER_THAN, GREATER_THAN_OR_EQUAL, GROUP_BY, HAVING, IN, INDEX, INNER, INNER_JOIN, INNER_JOIN_FETCH, IS, IS_EMPTY, IS_NOT_EMPTY, IS_NOT_NULL, IS_NULL, JOIN, JOIN_FETCH, KEY, LEADING, LEFT, LEFT_JOIN, LEFT_JOIN_FETCH, LEFT_OUTER_JOIN, LEFT_OUTER_JOIN_FETCH, LENGTH, LIKE, LOCATE, LOWER, LOWER_THAN, LOWER_THAN_OR_EQUAL, MAX, MEMBER, MEMBER_OF, MIN, MINUS, MOD, MULTIPLICATION, NAMED_PARAMETER, NEW, NOT, NOT_BETWEEN, NOT_EXISTS, NOT_IN, NOT_LIKE, NOT_MEMBER, NOT_MEMBER_OF, NULL, NULLIF, OBJECT, OF, OR, ORDER_BY, OUTER, PLUS, POSITION, POSITIONAL_PARAMETER, QUOTE, SELECT, SET, SIZE, SOME, SQRT, SUBSTRING, SUM, THEN, TRAILING, TREAT, TRIM, TRUE, TYPE, UNKNOWN, UPDATE, UPPER, VALUE, WHEN, WHERE
Modifier and Type | Method and Description |
---|---|
void |
accept(ExpressionVisitor visitor)
Visits this
Expression by the given visitor . |
void |
acceptChildren(ExpressionVisitor visitor)
Visits the children of this
Expression . |
int |
childrenSize()
Returns the count of child
expressions . |
boolean |
endsWithComma()
Determines whether this
CollectionExpression ends with a comma, which means the last
Expression is a "null " expression. |
boolean |
endsWithSpace()
Determines whether this
CollectionExpression ends with a space, which means the last
Expression is a "null " expression. |
JPQLQueryBNF |
findQueryBNF(AbstractExpression expression)
Retrieves the
JPQLQueryBNF that was used to parse the given Expression . |
Expression |
getChild(int index)
Retrieves the child
Expression at the given position. |
JPQLQueryBNF |
getQueryBNF()
Returns the BNF of this
Expression . |
boolean |
hasComma(int index)
Determines whether a comma was parsed at the given position.
|
boolean |
hasSpace(int index)
Determines whether a space was parsed at the given position.
|
int |
indexOf(Expression expression)
Retrieves the index of the given
Expression . |
String |
toActualText(int endIndex)
Returns a string representation of this
Expression and its children. |
String |
toParsedText(int endIndex)
Generates a string representation of this
CollectionExpression . |
children, getChildren, getParent, getRoot, identifierRole, identifiers, identifierVersion, isAncestor, isIdentifier, isVirtual, orderedChildren, queryBNF, toActualText, toParsedText, toString
public void accept(ExpressionVisitor visitor)
Expression
by the given visitor
.visitor
- The visitor
to visit this objectpublic void acceptChildren(ExpressionVisitor visitor)
Expression
. This method can be used to optimize traversing
the children since a new list is not created every time Expression.children()
or Expression.getChildren()
is called.
This does not traverse the Expression
sub-hierarchy, use an subclass of
AbstractTraverseChildrenVisitor
in order to traverse the entire sub-hierarchy.
visitor
- The visitor
to visit the children of this object.public int childrenSize()
expressions
.expressions
aggregated with spaces and/or commaspublic boolean endsWithComma()
CollectionExpression
ends with a comma, which means the last
Expression
is a "null
" expression.true
if the string representation of this CollectionExpression
ends with a comma (the ending space is not checked)public boolean endsWithSpace()
CollectionExpression
ends with a space, which means the last
Expression
is a "null
" expression.true
if the string representation of this CollectionExpression
ends with a space (the ending comma is not checked)public JPQLQueryBNF findQueryBNF(AbstractExpression expression)
JPQLQueryBNF
that was used to parse the given Expression
.findQueryBNF
in class AbstractExpression
expression
- The expression for which its BNF is neededJPQLQueryBNF
that was used to parse the given expressionpublic Expression getChild(int index)
Expression
at the given position.index
- The position of the child Expression
to retrieveExpression
at the given positionpublic JPQLQueryBNF getQueryBNF()
Expression
.getQueryBNF
in class AbstractExpression
JPQLQueryBNF
, which represents the grammar of this Expression
public boolean hasComma(int index)
index
- The index of the child Expression
to verify if there is a comma following ittrue
if a comma is following the child Expression
at the given
index; false
otherwisepublic boolean hasSpace(int index)
index
- The index of the child Expression
to verify if there is a space following
it, which could be after a comma, if one was parsedtrue
if a space is following the child Expression
at the given
index; false
otherwisepublic int indexOf(Expression expression)
Expression
.expression
- The Expression
that might be a child of this expressionExpression
or -1 if it is not a childpublic String toActualText(int endIndex)
Expression
and its children. The expression
should contain whitespace even if the beautified version would not have any. For instance,
"SELECT e " should be returned where Expression#toText()
would return "SELECT e".endIndex
- The index used to determine when to create the string representation, which
is exclusivewriter
- The buffer used to append this CollectionExpression
's string
representationExpression
public String toParsedText(int endIndex)
CollectionExpression
.endIndex
- The index used to determine when to create the string representation, which
is exclusivewriter
- The buffer used to append this CollectionExpression
's string
representationExpression
EclipseLink 2.3.2, "build v20111125-r10461" API Reference