|
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.AbstractSingleEncapsulatedExpression org.eclipse.persistence.jpa.jpql.parser.CastExpression
public final class CastExpression
The CAST function cast value to a different type. The database type is the 2nd parameter, and can be any valid database type including size and scale.
expression ::= CAST(scalar_expression [AS] database_type)
DatabaseType
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 | |
---|---|
CastExpression(AbstractExpression parent)
Creates a new CastExpression . |
Method Summary | |
---|---|
void |
accept(ExpressionVisitor visitor)
Visits this Expression by the given visitor . |
protected void |
addOrderedEncapsulatedExpressionTo(java.util.List<Expression> children)
Adds the Expressions representing the encapsulated Expression . |
java.lang.String |
encapsulatedExpressionBNF()
Returns the BNF used to parse the encapsulated expression. |
Expression |
getDatabaseType()
Returns the database type to cast to. |
JPQLQueryBNF |
getQueryBNF()
Returns the BNF of this Expression . |
boolean |
hasAs()
Determines whether the identifier AS was part of the query. |
boolean |
hasDatabaseType()
Determines whether the database type was parsed or not. |
boolean |
hasEncapsulatedExpression()
Determines whether something was parsed after the left parenthesis. |
boolean |
hasScalarExpression()
Determines whether something was parsed after the left parenthesis and before the AS identifier. |
boolean |
hasSpaceAfterAs()
Determines whether a whitespace parsed after AS. |
boolean |
hasSpaceAfterExpression()
Determines whether a whitespace was parsed after the expression. |
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 |
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 boolean |
shouldParseWithFactoryFirst()
Determines whether the parsing of the query should be performed using the factories first or it should automatically fallback to the fallback factory. |
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.AbstractSingleEncapsulatedExpression |
---|
acceptChildren, addChildrenTo, findQueryBNF, getExpression, hasExpression, setExpression |
Methods inherited from class org.eclipse.persistence.jpa.jpql.parser.AbstractEncapsulatedExpression |
---|
addOrderedChildrenTo, areLogicalIdentifiersSupported, getActualIdentifier, getIdentifier, hasLeftParenthesis, hasRightParenthesis, hasSpaceAfterIdentifier, parse, shouldParseRightParenthesis, toParsedText |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public CastExpression(AbstractExpression parent)
CastExpression
.
parent
- The parent of this expressionMethod Detail |
---|
public void accept(ExpressionVisitor visitor)
Expression
by the given visitor
.
visitor
- The ExpressionVisitor
to visit this objectprotected void addOrderedEncapsulatedExpressionTo(java.util.List<Expression> children)
Expressions
representing the encapsulated Expression
.
addOrderedEncapsulatedExpressionTo
in class AbstractSingleEncapsulatedExpression
children
- The list used to store the string representation of the encapsulated Expression
public java.lang.String encapsulatedExpressionBNF()
encapsulatedExpressionBNF
in class AbstractSingleEncapsulatedExpression
public Expression getDatabaseType()
Expression
representing the database typepublic JPQLQueryBNF getQueryBNF()
Expression
.
JPQLQueryBNF
, which represents the grammar of this Expression
public boolean hasAs()
true
if the identifier AS was parsed; false
otherwisepublic boolean hasDatabaseType()
true
if the database type was parsed; false
otherwisepublic boolean hasEncapsulatedExpression()
hasEncapsulatedExpression
in class AbstractSingleEncapsulatedExpression
true
if something was parsed; false
otherwisepublic boolean hasScalarExpression()
AS
identifier.
true
the expression to be cast was parsed; false
otherwisepublic boolean hasSpaceAfterAs()
true
if there was a whitespace parsed after AS;
false
otherwisepublic boolean hasSpaceAfterExpression()
true
if there was a whitespace parsed after the expression;
false
otherwiseprotected boolean isParsingComplete(WordParser wordParser, java.lang.String word, Expression expression)
isParsingComplete
in class AbstractEncapsulatedExpression
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 parseEncapsulatedExpression(WordParser wordParser, int whitespaceCount, boolean tolerant)
WordParser
.
parseEncapsulatedExpression
in class AbstractSingleEncapsulatedExpression
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 AbstractSingleEncapsulatedExpression
protected boolean shouldParseWithFactoryFirst()
factories
first or it should automatically fallback to the fallback factory.
shouldParseWithFactoryFirst
in class AbstractExpression
true
is returned by default so the factories are used before falling backprotected void toParsedTextEncapsulatedExpression(java.lang.StringBuilder writer, boolean actual)
Expression
.
toParsedTextEncapsulatedExpression
in class AbstractSingleEncapsulatedExpression
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 |