|
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.ExtractExpression
public final class ExtractExpression
The EXTRACT function extracts a date part from a date/time value. The date part can be
YEAR
, MONTH
, DAY
, HOUR
, MINUTE
,
SECOND
. Some databases may support other parts.
extract_expression ::= EXTRACT(date_part_literal [FROM] scalar_expression)
date_part_literal ::= { MICROSECOND | SECOND | MINUTE | HOUR | DAY | WEEK | MONTH | QUARTER | YEAR | SECOND_MICROSECOND | MINUTE_MICROSECOND | MINUTE_SECOND | HOUR_MICROSECOND | HOUR_SECOND | HOUR_MINUTE | DAY_MICROSECOND | DAY_SECOND | DAY_MINUTE | DAY_HOUR | YEAR_MONTH, etc }
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 | |
---|---|
ExtractExpression(AbstractExpression parent)
Creates a new ExtractExpression . |
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. |
java.lang.String |
getActualFromIdentifier()
Returns the actual FROM identifier found in the string representation of the JPQL query, which has the actual case that was used. |
java.lang.String |
getDatePart()
Returns the date part that was parsed, it is used to extract a single part of a date/time, such as year, month, day, your, etc. |
JPQLQueryBNF |
getQueryBNF()
Returns the BNF of this Expression . |
boolean |
hasDatePart()
Determines whether the date part literal was parsed or not. |
boolean |
hasEncapsulatedExpression()
Determines whether something was parsed after the left parenthesis. |
boolean |
hasFrom()
Determines whether the identifier FROM was part of the query. |
boolean |
hasSpaceAfterDatePart()
Determines whether a whitespace was found after the date part literal. |
boolean |
hasSpaceAfterFrom()
Determines whether a whitespace was found after FROM. |
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 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 ExtractExpression(AbstractExpression parent)
ExtractExpression
.
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 java.lang.String getActualFromIdentifier()
public java.lang.String getDatePart()
public JPQLQueryBNF getQueryBNF()
Expression
.
JPQLQueryBNF
, which represents the grammar of this Expression
public boolean hasDatePart()
true
if the date part literal was parsed; false
otherwisepublic boolean hasEncapsulatedExpression()
hasEncapsulatedExpression
in class AbstractSingleEncapsulatedExpression
true
if something was parsed; false
otherwisepublic boolean hasFrom()
true
if the identifier FROM was parsed; false
otherwisepublic boolean hasSpaceAfterDatePart()
true
if there was a whitespace after the date part literal;
false
otherwisepublic boolean hasSpaceAfterFrom()
true
if there was a whitespace after FROM; 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 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 |