|
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.Join
public final class Join
A JOIN enables the fetching of an association as a side effect of the execution of a query. A JOIN is specified over an entity and its related entities.
join ::= join_spec join_association_path_expression [AS] identification_variable
Field Summary | |
---|---|
private boolean |
hasAs Determines whether the identifier AS was parsed. |
private boolean |
hasSpaceAfterAs Determines whether a whitespace was parsed after AS. |
private boolean |
hasSpaceAfterJoin Determines whether a whitespace was parsed after JOIN. |
private boolean |
hasSpaceAfterJoinAssociation Determines whether a whitespace was parsed after the join association path expression. |
private AbstractExpression |
identificationVariable The Expression representing the identification variable. |
private AbstractExpression |
joinAssociationPath The Expression representing the join association path expression. |
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 | |
---|---|
Join(AbstractExpression parent, java.lang.String identifier) Creates a new Join . |
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 . |
Expression |
getIdentificationVariable() Returns the Expression that represents the identification variable. |
java.lang.String |
getIdentifier() Returns the identifier this expression represents. |
Expression |
getJoinAssociationPath() Returns the Expression that represents the join association path expression. |
JPQLQueryBNF |
getQueryBNF() Returns the BNF of this Expression . |
boolean |
hasAs() Determines whether the identifier AS was parsed. |
boolean |
hasIdentificationVariable() Determines whether the identification variable was parsed. |
boolean |
hasJoinAssociationPath() Determines whether the join association path expression was parsed. |
boolean |
hasSpaceAfterAs() Determines whether a whitespace was parsed after AS. |
boolean |
hasSpaceAfterJoin() Determines whether a whitespace was parsed after JOIN. |
boolean |
hasSpaceAfterJoinAssociation() Determines whether a whitespace was parsed after the join association path expression. |
boolean |
isLeftJoin() Determines whether this Join is a left join, i.e. |
(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 |
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, shouldParseWithFactoryFirst, 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 hasAs
private boolean hasSpaceAfterAs
private boolean hasSpaceAfterJoin
private boolean hasSpaceAfterJoinAssociation
private AbstractExpression identificationVariable
Expression
representing the identification variable.private AbstractExpression joinAssociationPath
Expression
representing the join association path expression.Constructor Detail |
---|
Join(AbstractExpression parent, java.lang.String identifier)
Join
.
parent
- The parent of this expressionidentifier
- The full JOIN identifierMethod 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 Expression getIdentificationVariable()
Expression
that represents the identification variable.public java.lang.String getIdentifier()
public Expression getJoinAssociationPath()
Expression
that represents the join association path expression.public JPQLQueryBNF getQueryBNF()
Expression
.getQueryBNF
in class AbstractExpression
JPQLQueryBNF
, which represents the grammar of this Expression
public boolean hasAs()
true
if the identifier AS was parsed; false
otherwisepublic boolean hasIdentificationVariable()
true
if the identification variable was parsed; false
otherwisepublic boolean hasJoinAssociationPath()
true
if the join association path expression was parsed; false
otherwisepublic boolean hasSpaceAfterAs()
true
if there was a whitespace after AS; false
otherwisepublic boolean hasSpaceAfterJoin()
true
if there was a whitespace after JOIN; false
otherwisepublic boolean hasSpaceAfterJoinAssociation()
true
if there was a whitespace after join association path expression; false
otherwisepublic boolean isLeftJoin()
Join
is a left join, i.e. Expression.LEFT_JOIN
or Expression.LEFT_OUTER_JOIN
.true
if this Join
expression is a Expression.LEFT_JOIN
or Expression.LEFT_OUTER_JOIN
; 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 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 |