|
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.IdentificationVariableDeclaration
public final class IdentificationVariableDeclaration
An identification variable is a valid identifier declared in the FROM clause of a query. All identification variables must be declared in the FROM clause. Identification variables cannot be declared in other clauses. An identification variable must not be a reserved identifier or have the same name as any entity in the same persistence unit: Identification variables are case insensitive. An identification variable evaluates to a value of the type of the expression used in declaring the variable.
identification_variable_declaration ::= range_variable_declaration { join | fetch_join }*
Field Summary | |
---|---|
private boolean |
hasSpace Determines whether there is a space after the range variable declaration. |
private AbstractExpression |
joins The unique join (fetch join) or list of join (fetch join) expression or a null expression if none was declared. |
private boolean |
parsingJoinExpression Flag used to determine how to check if the parsing is complete. |
private AbstractExpression |
rangeVariableDeclaration The variable declaration, which is the abstract schema name and the variable. |
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 | |
---|---|
IdentificationVariableDeclaration(AbstractExpression parent) Creates a new IdentificationVariableDeclaration . |
Method Summary | |
---|---|
void |
accept(ExpressionVisitor visitor) Visits this Expression by the given visitor . |
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 . |
CollectionExpression |
buildCollectionExpression() Creates a new CollectionExpression that will wrap the single join expression. |
Expression |
getJoins() Returns the unique join (fetch join) or the list of joins (fetch joins) expression. |
JPQLQueryBNF |
getQueryBNF() Returns the BNF of this Expression . |
Expression |
getRangeVariableDeclaration() Returns the variable declaration, which is the abstract schema name and the identification variable. |
boolean |
hasJoins() Determines whether this declaration has any join expressions. |
boolean |
hasRangeVariableDeclaration() Determines whether the range variable declaration was parsed. |
boolean |
hasSpace() Determines whether there is a space after the range variable declaration. |
(package private) boolean |
isParsingComplete(WordParser wordParser, java.lang.String word, Expression expression) Determines whether the parsing is complete based on what is left in the given text. |
(package private) void |
parse(WordParser wordParser, boolean tolerant) Parses the query by starting at the current position, which is part of the given WordParser . |
(package private) void |
setRangeVariableDeclaration(java.lang.String abstractSchemaName, java.lang.String identificationVariable) Manually sets the range variable declaration. |
(package private) boolean |
shouldParseWithFactoryFirst() TODO |
(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, getRoot, getText, handleAggregate, identifierRole, identifiers, identifiers, identifierVersion, isAncestor, isIdentifier, isNull, isTolerant, isUnknown, isVirtual, orderedChildren, parse, parseSingleExpression, populatePosition, queryBNF, readdLeadingSpaces, rebuildActualText, rebuildParsedText, setParent, setText, shouldSkipLiteral, toActualText, toParsedText, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private boolean hasSpace
private AbstractExpression joins
null
expression if none was declared.private boolean parsingJoinExpression
private AbstractExpression rangeVariableDeclaration
Constructor Detail |
---|
IdentificationVariableDeclaration(AbstractExpression parent)
IdentificationVariableDeclaration
.
parent
- The parent of this expressionMethod Detail |
---|
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.void addChildrenTo(java.util.Collection<Expression> children)
Expression
to the given collection.addChildrenTo
in class AbstractExpression
children
- The collection used to store the childrenvoid 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
public CollectionExpression buildCollectionExpression()
CollectionExpression
that will wrap the single join expression.public Expression getJoins()
JOIN
expression(s) or a null
expression if none was declaredpublic JPQLQueryBNF getQueryBNF()
Expression
.getQueryBNF
in class AbstractExpression
JPQLQueryBNF
, which represents the grammar of this Expression
public Expression getRangeVariableDeclaration()
Expression
representing the range variable declarationpublic boolean hasJoins()
true
if at least one join expression was specified; false
otherwisepublic boolean hasRangeVariableDeclaration()
true
if the range variable declaration was parsed; false
otherwisepublic boolean hasSpace()
true
if the range variable declaration is followed by a space, false
otherwiseboolean isParsingComplete(WordParser wordParser, java.lang.String word, Expression expression)
isParsingComplete
in class AbstractExpression
wordParser
- The text to parse based on the current position of the cursorword
- The word that was retrieved from the given text, which is the first word in the textexpression
- The Expression
that has already been parsedtrue
if the text no longer can't be parsed by the current expression; false
if more can be parsedvoid 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 queriesvoid setRangeVariableDeclaration(java.lang.String abstractSchemaName, java.lang.String identificationVariable)
abstractSchemaName
- The abstract schema name to be mapped to the given variableidentificationVariable
- The identification variable mapping the given schema nameboolean shouldParseWithFactoryFirst()
shouldParseWithFactoryFirst
in class AbstractExpression
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 |