|
EclipseLink 2.4.2, build 'v20130514-5956486' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eclipse.persistence.jpa.jpql.parser.AbstractExpression org.eclipse.persistence.jpa.jpql.parser.AbstractPathExpression
public abstract class AbstractPathExpression
An identification variable followed by the navigation operator (.) and a state field or association field is a path expression. The type of the path expression is the type computed as the result of navigation; that is, the type of the state field or association field to which the expression navigates.
CollectionValuedPathExpression
,
IdentificationVariable
Field Summary |
---|
Fields inherited from class org.eclipse.persistence.jpa.jpql.parser.AbstractExpression |
---|
COMMA, DOT, DOUBLE_QUOTE, LEFT_CURLY_BRACKET, LEFT_PARENTHESIS, NOT_DEFINED, RIGHT_CURLY_BRACKET, RIGHT_PARENTHESIS, SINGLE_QUOTE, SPACE, UNDERSCORE |
Constructor Summary | |
---|---|
protected |
AbstractPathExpression(AbstractExpression parent,
AbstractExpression identificationVariable)
Creates a new AbstractPathExpression . |
|
AbstractPathExpression(AbstractExpression parent,
AbstractExpression identificationVariable,
java.lang.String paths)
Creates a new AbstractPathExpression . |
protected |
AbstractPathExpression(AbstractExpression parent,
java.lang.String paths)
Creates a new AbstractPathExpression . |
Method Summary | |
---|---|
void |
acceptChildren(ExpressionVisitor visitor)
Visits the children of this Expression . |
protected void |
addChildrenTo(java.util.Collection<Expression> children)
Adds the children of this AbstractExpression to the given collection. |
protected void |
addOrderedChildrenTo(java.util.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. |
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. |
protected void |
parse(WordParser wordParser,
boolean tolerant)
Parses the query by starting at the current position, which is part of the given WordParser . |
IterableListIterator<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. |
protected void |
setVirtualIdentificationVariable(java.lang.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. |
java.lang.String |
toParsedText(int startIndex,
int stopIndex)
Returns a string representation from the given range. |
protected void |
toParsedText(java.lang.StringBuilder writer,
boolean actual)
Generates a string representation of this Expression , including its children,
if it has any. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.eclipse.persistence.jpa.jpql.parser.Expression |
---|
accept, getQueryBNF |
Constructor Detail |
---|
protected 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, 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 variableprotected AbstractPathExpression(AbstractExpression parent, java.lang.String paths)
AbstractPathExpression
.
parent
- The parent of this expressionpaths
- The path expressionMethod Detail |
---|
public 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(java.util.Collection<Expression> children)
AbstractExpression
to the given collection.
addChildrenTo
in class AbstractExpression
children
- The collection used to store the childrenprotected final void addOrderedChildrenTo(java.util.List<Expression> children)
AbstractExpression
to the given list.
addOrderedChildrenTo
in class AbstractExpression
children
- The list used to store the string representation of this AbstractExpression
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 Expression
findQueryBNF
in class AbstractExpression
expression
- The Expression
that is a descendant of this one
JPQLQueryBNF
that was used to parse the given expressionpublic final Expression getIdentificationVariable()
public final java.lang.String getPath(int index)
index
- The 0-based segment index
public 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 AbstractExpression
wordParser
- 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 IterableListIterator<java.lang.String> paths()
Iterator
over the segments of the state field pathpublic final int pathSize()
protected final void setVirtualIdentificationVariable(java.lang.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 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 exclusive
protected final void toParsedText(java.lang.StringBuilder writer, boolean actual)
Expression
, including its children,
if it has any.
toParsedText
in class AbstractExpression
writer
- 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 identifiers
|
EclipseLink 2.4.2, build 'v20130514-5956486' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |