|
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.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
A JOIN FETCH enables the fetching of an association as a side effect of the execution of a query. A JOIN FETCH is specified over an entity and its related entities.
fetch_join ::= join_spec FETCH join_association_path_expression
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 | |
---|---|
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 . |
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. |
JPQLQueryBNF |
findQueryBNF(Expression expression)
Retrieves the JPQLQueryBNF that represents the fragment of this Expression
that was used when parsing the given Expression . |
java.lang.String |
getActualAsIdentifier()
Returns the actual AS found in the string representation of the JPQL query, which has the actual case that was used. |
java.lang.String |
getActualIdentifier()
Returns the actual identifier found in the string representation of the JPQL query, which has the actual case that was used. |
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. |
Expression |
getOnClause()
Returns the Expression that represents the ON clause if present. |
JPQLQueryBNF |
getQueryBNF()
Returns the BNF of this Expression . |
boolean |
hasAs()
Determines whether the identifier AS was parsed. |
boolean |
hasFetch()
Determines whether the identifier FETCH was parsed. |
boolean |
hasIdentificationVariable()
Determines whether the identification variable was parsed. |
boolean |
hasJoinAssociationPath()
Determines whether the join association path expression was parsed. |
boolean |
hasOnClause()
Determines whether the ON clause was parsed. |
boolean |
hasSpaceAfterAs()
Determines whether a whitespace was parsed after AS. |
boolean |
hasSpaceAfterIdentificationVariable()
Determines whether a whitespace was parsed before ON. |
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. |
protected 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. |
protected void |
parse(WordParser wordParser,
boolean tolerant)
Parses the query by starting at the current position, which is part of the given WordParser . |
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 |
Constructor Detail |
---|
public 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 ExpressionVisitor
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()
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 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 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 java.lang.String getActualAsIdentifier()
public java.lang.String getActualIdentifier()
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 Expression getOnClause()
Expression
that represents the ON clause if present.
public JPQLQueryBNF getQueryBNF()
Expression
.
JPQLQueryBNF
, which represents the grammar of this Expression
public boolean hasAs()
true
if the identifier AS was parsed; false
otherwisepublic boolean hasFetch()
true
if the identifier FETCH 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 hasOnClause()
true
if the ON clause was parsed; false
otherwisepublic boolean hasSpaceAfterAs()
true
if there was a whitespace after AS; false
otherwisepublic boolean hasSpaceAfterIdentificationVariable()
true
if there was a whitespace before ON; 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
,
Expression.LEFT_JOIN_FETCH
, Expression.LEFT_OUTER_JOIN
, Expression.LEFT_OUTER_JOIN_FETCH
.
true
if this Join
expression is a Expression.LEFT_JOIN
,
Expression.LEFT_JOIN_FETCH
, Expression.LEFT_OUTER_JOIN
, Expression.LEFT_OUTER_JOIN_FETCH
; false
otherwiseprotected boolean 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 parsed
true
if the text no longer can't be parsed by the current expression;
false
if more can be parsedprotected 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 queriesprotected 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 |