|
Oracle Fusion Middleware Java API Reference for Oracle TopLink 11g Release 1 (11.1.1) E28847-01 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object
org.eclipse.persistence.jpa.internal.jpql.parser.StringExpression
org.eclipse.persistence.jpa.internal.jpql.parser.AbstractExpression
org.eclipse.persistence.jpa.internal.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 | |
---|---|
private java.lang.Boolean |
endsWithDot Determines whether the path ends with a dot or not. |
private AbstractExpression |
identificationVariable The identification variable that starts the path expression, which can be a sample identification variable , an entry expression , a value expression or a key expression . |
private java.util.List<java.lang.String> |
paths The state field path in a ordered list of string segments. |
private boolean |
startsWithDot Determines whether the path starts with a dot or not. |
private boolean |
virtualIdentificationVariable Determines whether the identification variable is virtual, meaning it's not part of the query but is required for proper navigability. |
Fields inherited from class org.eclipse.persistence.jpa.internal.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 | |
---|---|
AbstractPathExpression(AbstractExpression parent, AbstractExpression expression) Creates a new AbstractPathExpression . |
|
AbstractPathExpression(AbstractExpression parent, java.lang.String paths) Creates a new AbstractPathExpression . |
Method Summary | |
---|---|
void |
acceptChildren(ExpressionVisitor visitor) Visits the children of this Expression . |
(package private) void |
addChildrenTo(java.util.Collection<Expression> children) Adds the children of this Expression to the given collection. |
(package private) void |
addOrderedChildrenTo(java.util.List<StringExpression> children) Adds the StringExpressions representing this Expression . |
private void |
checkPaths() |
boolean |
endsWithDot() Determines whether the path ends with a dot or not. |
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 this identification variable is virtual, meaning it's not part of the query but is required for proper navigability. |
(package private) void |
parse(WordParser wordParser, boolean tolerant) Parses the query by starting at the current position, which is part of the given WordParser . |
java.util.ListIterator<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. |
(package private) 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. |
(package private) void |
toParsedText(java.lang.StringBuilder writer, boolean includeVirtual) Generates a string representation of this Expression . |
Methods inherited from class org.eclipse.persistence.jpa.internal.jpql.parser.AbstractExpression |
---|
buildExpressionFromFallingBack, buildNullExpression, buildStringExpression, buildStringExpression, buildUnknownExpression, children, expressionFactory, expressionFactoryForIdentifier, findQueryBNF, getChildren, getJPAVersion, getParent, getQueryBNF, getRoot, getText, handleAggregate, identifierRole, identifiers, identifiers, identifierVersion, isAncestor, isIdentifier, isNull, isParsingComplete, isTolerant, isUnknown, isVirtual, orderedChildren, parse, parseSingleExpression, populatePosition, queryBNF, readdLeadingSpaces, rebuildActualText, rebuildParsedText, setParent, setText, shouldParseWithFactoryFirst, shouldSkipLiteral, toActualText, toParsedText, toString |
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.internal.jpql.parser.Expression |
---|
accept |
Field Detail |
---|
private java.lang.Boolean endsWithDot
private AbstractExpression identificationVariable
identification variable
, an entry expression
, a value expression
or a key expression
.private java.util.List<java.lang.String> paths
private boolean startsWithDot
private boolean virtualIdentificationVariable
Constructor Detail |
---|
AbstractPathExpression(AbstractExpression parent, AbstractExpression expression)
AbstractPathExpression
.
parent
- The parent of this expressionexpression
- The identification variable that was already parsed, which means the beginning of the parsing should start with a dotAbstractPathExpression(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()
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.void addChildrenTo(java.util.Collection<Expression> children)
Expression
to the given collection.addChildrenTo
in class AbstractExpression
children
- The collection used to store the childrenfinal void addOrderedChildrenTo(java.util.List<StringExpression> children)
StringExpressions
representing this Expression
.addOrderedChildrenTo
in class AbstractExpression
children
- The list used to store the string representation of this Expression
private void checkPaths()
public final boolean endsWithDot()
true
if the path ends with a dot; false
otherwisepublic 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 parsedfinal 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 java.util.ListIterator<java.lang.String> paths()
Iterator
over the segments of the state field pathpublic final int pathSize()
final void setVirtualIdentificationVariable(java.lang.String variableName)
variableName
- The identification variable that was generated to identify the abstract schema namepublic final boolean startsWithDot()
true
if the path starts with a dot; false
otherwisefinal void toParsedText(java.lang.StringBuilder writer, boolean includeVirtual)
Expression
.toParsedText
in class AbstractExpression
writer
- The buffer used to append this Expression
's string representationincludeVirtual
- Determines whether to include any characters that are considered virtual, i.e. that was parsed when the query is incomplete and is needed for functionality like content assist
|
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |