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