public abstract class AbstractPathExpression extends AbstractExpression
CollectionValuedPathExpression,
IdentificationVariableCOMMA, DOT, DOUBLE_QUOTE, LEFT_CURLY_BRACKET, LEFT_PARENTHESIS, NOT_DEFINED, RIGHT_CURLY_BRACKET, RIGHT_PARENTHESIS, SINGLE_QUOTE, SPACE, UNDERSCOREABS, ALL, AND, ANY, AS, AS_OF, ASC, AVG, BETWEEN, BIT_LENGTH, BOTH, CASE, CAST, CHAR_LENGTH, CHARACTER_LENGTH, CLASS, COALESCE, COLUMN, CONCAT, CONNECT_BY, COUNT, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, DELETE, DELETE_FROM, DESC, DIFFERENT, DISTINCT, DIVISION, ELSE, EMPTY, END, ENTRY, EQUAL, ESCAPE, EXCEPT, EXISTS, EXTRACT, FALSE, FETCH, FIRST, FROM, FUNC, FUNCTION, GREATER_THAN, GREATER_THAN_OR_EQUAL, GROUP_BY, HAVING, IN, INDEX, INNER, INNER_JOIN, INNER_JOIN_FETCH, INTERSECT, IS, IS_EMPTY, IS_NOT_EMPTY, IS_NOT_NULL, IS_NULL, JOIN, JOIN_FETCH, KEY, LAST, 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_EQUAL, NOT_EXISTS, NOT_IN, NOT_LIKE, NOT_MEMBER, NOT_MEMBER_OF, NULL, NULLIF, NULLS, NULLS_FIRST, NULLS_LAST, OBJECT, OF, ON, OPERATOR, OR, ORDER_BY, ORDER_SIBLINGS_BY, OUTER, PLUS, POSITION, POSITIONAL_PARAMETER, QUOTE, REGEXP, SCN, SELECT, SET, SIZE, SOME, SQL, SQRT, START_WITH, SUBSTRING, SUM, TABLE, THEN, TIMESTAMP, TRAILING, TREAT, TRIM, TRUE, TYPE, UNION, UNKNOWN, UPDATE, UPPER, VALUE, WHEN, WHERE| Constructor and Description |
|---|
AbstractPathExpression(AbstractExpression parent,
AbstractExpression identificationVariable,
java.lang.String paths)
Creates a new
AbstractPathExpression. |
| Modifier and Type | Method and Description |
|---|---|
void |
acceptChildren(ExpressionVisitor visitor)
Visits the children of this
Expression. |
boolean |
endsWithDot()
Determines whether the path ends with a dot or not.
|
JPQLQueryBNF |
findQueryBNF(Expression expression)
Retrieves the
JPQLQueryBNF that represents the fragment of this Expression
that was used when parsing the given Expression. |
Expression |
getIdentificationVariable()
Returns the identification variable that starts the path expression, which can be a sample
identification variable, a map value, map key or map entry expression.
|
java.lang.String |
getPath(int index)
Returns the specified segment of the state field path.
|
boolean |
hasIdentificationVariable()
Determines whether the identification variable was parsed.
|
boolean |
hasVirtualIdentificationVariable()
Determines whether the path's identification variable is virtual or not, meaning it's not part
of the query but is required for proper navigability.
|
ListIterable<java.lang.String> |
paths()
Returns the segments in the state field path in order.
|
int |
pathSize()
Returns the number of segments in the state field path.
|
boolean |
startsWithDot()
Determines whether the path starts with a dot or not.
|
java.lang.String |
toParsedText(int startIndex,
int stopIndex)
Returns a string representation from the given range.
|
children, getGrammar, getIdentifierVersion, getLength, getOffset, getParent, getQueryBNF, getRoot, isAncestor, orderedChildren, populatePosition, toActualText, toParsedText, toStringequals, getClass, hashCode, notify, notifyAll, wait, wait, waitaccept, getQueryBNFpublic AbstractPathExpression(AbstractExpression parent, AbstractExpression identificationVariable, java.lang.String paths)
AbstractPathExpression.parent - The parent of this expressionidentificationVariable - The identification variable that was already parsed, which means
the beginning of the parsing should start with a dotpaths - The path expression that is following the identification variablepublic 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() is called.
This does not traverse the Expression sub-hierarchy, use a subclass of
AbstractTraverseChildrenVisitor in order to traverse the entire sub-hierarchy.
visitor - The visitor to visit the children of this object.public final boolean endsWithDot()
true if the path ends with a dot; false otherwisepublic final JPQLQueryBNF findQueryBNF(Expression expression)
JPQLQueryBNF that represents the fragment of this Expression
that was used when parsing the given Expression.findQueryBNF in interface ExpressionfindQueryBNF in class AbstractExpressionexpression - The Expression that is a descendant of this oneJPQLQueryBNF that was used to parse the given expressionpublic final Expression getIdentificationVariable()
public final java.lang.String getPath(int index)
index - The 0-based segment indexpublic final boolean hasIdentificationVariable()
true the identification variable was parsed; false otherwisepublic final boolean hasVirtualIdentificationVariable()
true if this identification variable was virtually created to fully
qualify path expression; false if it was parsedpublic final ListIterable<java.lang.String> paths()
Iterator over the segments of the state field pathpublic final int pathSize()
public final boolean startsWithDot()
true if the path starts with a dot; false otherwisepublic java.lang.String toParsedText(int startIndex,
int stopIndex)
startIndex - The beginning of the range to create the string representationstopIndex - When to stop creating the string representation, which is exclusiveEclipseLink 2.6.3, "build v20160428-59c81c5" API Reference