|
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.AbstractEncapsulatedExpression org.eclipse.persistence.jpa.jpql.parser.TreatExpression
public final class TreatExpression
Returns an expression that allows to treat its base as if it were a subclass of the class returned by the base.
New to EclipseLink 2.1.
join_treat ::= TREAT(collection_valued_path_expression AS entity_type_literal)
Example: SELECT e FROM Employee e JOIN TREAT(e.projects AS LargeProject) lp WHERE lp.budget = value
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 | |
---|---|
TreatExpression(AbstractExpression parent)
Creates a new TreatExpression . |
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 |
addOrderedEncapsulatedExpressionTo(java.util.List<Expression> children)
Adds the Expressions representing the encapsulated Expression . |
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 identifier found in the string representation of the JPQL query, which has the actual case that was used. |
Expression |
getCollectionValuedPathExpression()
Returns the Expression that represents the collection-valued path expression. |
Expression |
getEntityType()
Returns the Expression that represents the entity type that will be used to downcast
the type of the elements in the collection. |
JPQLQueryBNF |
getQueryBNF()
Returns the BNF of this Expression . |
boolean |
hasAs()
Determines whether the identifier AS was parsed. |
boolean |
hasCollectionValuedPathExpression()
Determines whether the collection-valued path expression of the query was parsed. |
boolean |
hasEncapsulatedExpression()
Determines whether something was parsed after the left parenthesis. |
boolean |
hasEntityType()
Determines whether the entity type was parsed. |
boolean |
hasSpaceAfterAs()
Determines whether a whitespace was parsed after AS. |
boolean |
hasSpaceAfterCollectionValuedPathExpression()
Determines whether a whitespace was parsed after the collection-valued path expression. |
protected void |
parseEncapsulatedExpression(WordParser wordParser,
int whitespaceCount,
boolean tolerant)
Parses the encapsulated expression by starting at the current position, which is part of the given WordParser . |
protected java.lang.String |
parseIdentifier(WordParser wordParser)
Parses the identifier of this expression. |
protected void |
removeEncapsulatedExpression()
|
protected void |
toParsedTextEncapsulatedExpression(java.lang.StringBuilder writer,
boolean actual)
Generates a string representation of the encapsulated Expression . |
Methods inherited from class org.eclipse.persistence.jpa.jpql.parser.AbstractEncapsulatedExpression |
---|
addOrderedChildrenTo, areLogicalIdentifiersSupported, getActualIdentifier, getIdentifier, hasLeftParenthesis, hasRightParenthesis, hasSpaceAfterIdentifier, isParsingComplete, parse, shouldParseRightParenthesis, toParsedText |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public TreatExpression(AbstractExpression parent)
TreatExpression
.
parent
- The parent of this expressionMethod 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 addOrderedEncapsulatedExpressionTo(java.util.List<Expression> children)
Expressions
representing the encapsulated Expression
.
addOrderedEncapsulatedExpressionTo
in class AbstractEncapsulatedExpression
children
- The list used to store the string representation of the encapsulated Expression
public 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 java.lang.String getActualAsIdentifier()
public Expression getCollectionValuedPathExpression()
Expression
that represents the collection-valued path expression.
public Expression getEntityType()
Expression
that represents the entity type that will be used to downcast
the type of the elements in the collection.
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 hasCollectionValuedPathExpression()
true
if the collection-valued path expression was parsed;
false
if nothing was parsedpublic boolean hasEncapsulatedExpression()
hasEncapsulatedExpression
in class AbstractEncapsulatedExpression
true
if something was parsed; false
otherwisepublic boolean hasEntityType()
true
if the entity type was parsed; false
if nothing was
parsedpublic boolean hasSpaceAfterAs()
true
if there was a whitespace after AS; false
otherwisepublic boolean hasSpaceAfterCollectionValuedPathExpression()
true
if a whitespace was parsed after the collection-valued path
expression; false
otherwiseprotected void parseEncapsulatedExpression(WordParser wordParser, int whitespaceCount, boolean tolerant)
WordParser
.
parseEncapsulatedExpression
in class AbstractEncapsulatedExpression
wordParser
- The text to parse based on the current position of the cursorwhitespaceCount
- The number of whitespace characters that were parsed after '('tolerant
- Determines whether the parsing system should be tolerant, meaning if it should
try to parse invalid or incomplete queriesprotected java.lang.String parseIdentifier(WordParser wordParser)
parseIdentifier
in class AbstractEncapsulatedExpression
protected void removeEncapsulatedExpression()
removeEncapsulatedExpression
in class AbstractEncapsulatedExpression
protected void toParsedTextEncapsulatedExpression(java.lang.StringBuilder writer, boolean actual)
Expression
.
toParsedTextEncapsulatedExpression
in class AbstractEncapsulatedExpression
writer
- The buffer used to append the encapsulated Expression
's string
representationactual
- 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
|
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 |