|
EclipseLink 2.5.0, build 'v20130226-e0971b1' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.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 . |
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 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 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 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.5.0, build 'v20130226-e0971b1' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |