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| Modifier | Constructor and Description |
|---|---|
protected |
AbstractPathExpression(AbstractExpression parent,
AbstractExpression identificationVariable)
Creates a new
AbstractPathExpression. |
|
AbstractPathExpression(AbstractExpression parent,
AbstractExpression identificationVariable,
String paths)
Creates a new
AbstractPathExpression. |
protected |
AbstractPathExpression(AbstractExpression parent,
String paths)
Creates a new
AbstractPathExpression. |
| Modifier and Type | Method and Description |
|---|---|
void |
acceptChildren(ExpressionVisitor visitor)
Visits the children of this
Expression. |
protected void |
addChildrenTo(Collection<Expression> children)
Adds the children of this
AbstractExpression to the given collection. |
protected void |
addOrderedChildrenTo(List<Expression> children)
Adds the children of this
AbstractExpression to the given list. |
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.
|
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.
|
protected void |
parse(WordParser wordParser,
boolean tolerant)
Parses the query by starting at the current position, which is part of the given
WordParser. |
ListIterable<String> |
paths()
Returns the segments in the state field path in order.
|
int |
pathSize()
Returns the number of segments in the state field path.
|
protected void |
setVirtualIdentificationVariable(String variableName)
Sets a virtual identification variable because the abstract schema name was parsed without
one.
|
boolean |
startsWithDot()
Determines whether the path starts with a dot or not.
|
String |
toParsedText(int startIndex,
int stopIndex)
Returns a string representation from the given range.
|
protected void |
toParsedText(StringBuilder writer,
boolean actual)
Generates a string representation of this
Expression, including its children,
if it has any. |
acceptUnknownVisitor, acceptUnknownVisitor, buildExpressionFromFallingBack, buildNullExpression, buildStringExpression, buildStringExpression, buildUnknownExpression, calculatePosition, children, findFallBackExpressionFactory, getExpressionFactory, getExpressionRegistry, getGrammar, getIdentifierVersion, getJPAVersion, getLength, getOffset, getParent, getQueryBNF, getRoot, getText, handleAggregate, handleCollection, isAncestor, isIdentifier, isNull, isParsingComplete, isTolerant, isUnknown, isVirtual, orderedChildren, parse, parseUsingExpressionFactory, populatePosition, rebuildActualText, rebuildParsedText, setParent, setText, shouldParseWithFactoryFirst, shouldSkipLiteral, toActualText, toParsedText, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitaccept, getQueryBNFprotected AbstractPathExpression(AbstractExpression parent, AbstractExpression identificationVariable)
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 dotpublic AbstractPathExpression(AbstractExpression parent, AbstractExpression identificationVariable, 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 variableprotected AbstractPathExpression(AbstractExpression parent, String paths)
AbstractPathExpression.parent - The parent of this expressionpaths - The path expressionpublic 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.protected void addChildrenTo(Collection<Expression> children)
AbstractExpression to the given collection.addChildrenTo in class AbstractExpressionchildren - The collection used to store the childrenprotected final void addOrderedChildrenTo(List<Expression> children)
AbstractExpression to the given list.addOrderedChildrenTo in class AbstractExpressionchildren - The list used to store the string representation of this AbstractExpressionpublic 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 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 parsedprotected final void parse(WordParser wordParser, boolean tolerant)
WordParser.parse in class AbstractExpressionwordParser - The text to parse based on the current position of the cursortolerant - Determines whether the parsing system should be tolerant, meaning if it should
try to parse invalid or incomplete queriespublic final ListIterable<String> paths()
Iterator over the segments of the state field pathpublic final int pathSize()
protected final void setVirtualIdentificationVariable(String variableName)
variableName - The identification variable that was generated to identify the "root" objectpublic final boolean startsWithDot()
true if the path starts with a dot; false otherwisepublic 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 exclusiveprotected final void toParsedText(StringBuilder writer, boolean actual)
Expression, including its children,
if it has any.toParsedText in class AbstractExpressionwriter - The buffer used to append this Expression's string representationactual - Determines whether the string representation should represent what was parsed,
i.e. include any "virtual" whitespace (such as ending whitespace) and the actual case of the
JPQL identifiersCopyright © 2007–2021 Eclipse.org - EclipseLink Project. All rights reserved.