public final class DateTime extends AbstractExpression
Expression represents a date or time. It supports the following identifiers:
CURRENT_DATE: This function returns the value of current date on the database server.
CURRENT_TIME: This function returns the value of current time on the database server.
CURRENT_TIMESTAMP: This function returns the value of current timestamp on the database server.
functions_returning_datetime ::= CURRENT_DATE | CURRENT_TIME | CURRENT_TIMESTAMPThe JDBC escape syntax may be used for the specification of date, time, and timestamp literals.
expression ::= {d 'yyyy-mm-dd'} | {t 'hh:mm:ss'} | {ts 'yyyy-mm-dd hh:mm:ss.f...'}COMMA, DOT, DOUBLE_QUOTE, LEFT_CURLY_BRACKET, LEFT_PARENTHESIS, NOT_DEFINED, RIGHT_CURLY_BRACKET, RIGHT_PARENTHESIS, SINGLE_QUOTE, SPACE, UNDERSCOREABS, ALL, AND, ANY, AS, AS_OF, ASC, AVG, BETWEEN, BIT_LENGTH, BOTH, CASE, CAST, CHAR_LENGTH, CHARACTER_LENGTH, CLASS, COALESCE, COLUMN, CONCAT, CONNECT_BY, COUNT, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, DELETE, DELETE_FROM, DESC, DIFFERENT, DISTINCT, DIVISION, ELSE, EMPTY, END, ENTRY, EQUAL, ESCAPE, EXCEPT, EXISTS, EXTRACT, FALSE, FETCH, FIRST, FROM, FUNC, FUNCTION, GREATER_THAN, GREATER_THAN_OR_EQUAL, GROUP_BY, HAVING, IN, INDEX, INNER, INNER_JOIN, INNER_JOIN_FETCH, INTERSECT, IS, IS_EMPTY, IS_NOT_EMPTY, IS_NOT_NULL, IS_NULL, JOIN, JOIN_FETCH, KEY, LAST, LEADING, LEFT, LEFT_JOIN, LEFT_JOIN_FETCH, LEFT_OUTER_JOIN, LEFT_OUTER_JOIN_FETCH, LENGTH, LIKE, LOCATE, LOWER, LOWER_THAN, LOWER_THAN_OR_EQUAL, MAX, MEMBER, MEMBER_OF, MIN, MINUS, MOD, MULTIPLICATION, NAMED_PARAMETER, NEW, NOT, NOT_BETWEEN, NOT_EQUAL, NOT_EXISTS, NOT_IN, NOT_LIKE, NOT_MEMBER, NOT_MEMBER_OF, NULL, NULLIF, NULLS, NULLS_FIRST, NULLS_LAST, OBJECT, OF, ON, OPERATOR, OR, ORDER_BY, ORDER_SIBLINGS_BY, OUTER, PLUS, POSITION, POSITIONAL_PARAMETER, QUOTE, REGEXP, SCN, SELECT, SET, SIZE, SOME, SQL, SQRT, START_WITH, SUBSTRING, SUM, TABLE, THEN, TIMESTAMP, TRAILING, TREAT, TRIM, TRUE, TYPE, UNION, UNKNOWN, UPDATE, UPPER, VALUE, WHEN, WHERE| Constructor and Description |
|---|
DateTime(AbstractExpression parent)
Creates a new
DateTime. |
| Modifier and Type | Method and Description |
|---|---|
void |
accept(ExpressionVisitor visitor)
Visits this
Expression by the given visitor. |
void |
acceptChildren(ExpressionVisitor visitor)
Visits the children of this
Expression. |
protected void |
addOrderedChildrenTo(java.util.List<Expression> children)
Adds the children of this
AbstractExpression to the given list. |
java.lang.String |
getActualIdentifier()
Returns the actual identifier found in the string representation of the JPQL query, which has
the actual case that was used.
|
JPQLQueryBNF |
getQueryBNF()
Returns the BNF of this
Expression. |
java.lang.String |
getText()
Returns the encapsulated text of this
AbstractExpression, which can be used in various
ways, it can be a keyword, a literal, etc. |
boolean |
isCurrentDate()
Determines whether this
DateTime represents the JPQL identifier
CURRENT_DATE. |
boolean |
isCurrentTime()
Determines whether this
DateTime represents the JPQL identifier
CURRENT_TIME. |
boolean |
isCurrentTimestamp()
Determines whether this
DateTime represents the JPQL identifier
CURRENT_TIMESTAMP. |
boolean |
isJDBCDate()
Determines whether this
DateTime represents the JDBC escape syntax for date, time,
timestamp formats. |
protected void |
parse(WordParser wordParser,
boolean tolerant)
Parses the query by starting at the current position, which is part of the given
WordParser. |
java.lang.String |
toActualText()
Generates a string representation of this
Expression, which needs 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. |
java.lang.String |
toParsedText()
Returns a string representation of this
Expression and its children. |
protected void |
toParsedText(java.lang.StringBuilder writer,
boolean actual)
Generates a string representation of this
Expression, including its children,
if it has any. |
acceptUnknownVisitor, acceptUnknownVisitor, addChildrenTo, buildExpressionFromFallingBack, buildNullExpression, buildStringExpression, buildStringExpression, buildUnknownExpression, calculatePosition, children, findFallBackExpressionFactory, findQueryBNF, getExpressionFactory, getExpressionRegistry, getGrammar, getIdentifierVersion, getJPAVersion, getLength, getOffset, getParent, getQueryBNF, getRoot, handleAggregate, handleCollection, isAncestor, isIdentifier, isNull, isParsingComplete, isTolerant, isUnknown, isVirtual, orderedChildren, parse, parseUsingExpressionFactory, populatePosition, rebuildActualText, rebuildParsedText, setParent, setText, shouldParseWithFactoryFirst, shouldSkipLiteral, toStringpublic DateTime(AbstractExpression parent)
DateTime.parent - The parent of this expressionpublic 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 addOrderedChildrenTo(java.util.List<Expression> children)
AbstractExpression to the given list.addOrderedChildrenTo in class AbstractExpressionchildren - The list used to store the string representation of this AbstractExpressionpublic java.lang.String getActualIdentifier()
public JPQLQueryBNF getQueryBNF()
Expression.JPQLQueryBNF, which represents the grammar of this Expressionpublic java.lang.String getText()
AbstractExpression, which can be used in various
ways, it can be a keyword, a literal, etc.getText in class AbstractExpressionAbstractExpression, the literal it
encapsulates or an empty stringpublic boolean isCurrentDate()
DateTime represents the JPQL identifier
CURRENT_DATE.true if this Expression represents
CURRENT_DATE; false otherwisepublic boolean isCurrentTime()
DateTime represents the JPQL identifier
CURRENT_TIME.true if this Expression represents
CURRENT_TIME; false otherwisepublic boolean isCurrentTimestamp()
DateTime represents the JPQL identifier
CURRENT_TIMESTAMP.true if this Expression represents
CURRENT_TIMESTAMP; false
otherwisepublic boolean isJDBCDate()
DateTime represents the JDBC escape syntax for date, time,
timestamp formats.true if this Expression represents a JDBC escape syntax;
false otherwiseprotected void parse(WordParser wordParser, boolean tolerant)
WordParser.parse in class AbstractExpressionwordParser - The text to parse based on the current position of the cursortolerant - Determines whether the parsing system should be tolerant, meaning if it should
try to parse invalid or incomplete queriespublic java.lang.String toActualText()
Expression, which needs 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.toActualText in interface ExpressiontoActualText in class AbstractExpressionExpressionpublic java.lang.String toParsedText()
Expression and its children. The expression
should contain whitespace even if the beautified version would not have any. For instance,
"SELECT e " should be returned where Expression.toParsedText() would return "SELECT e".toParsedText in interface ExpressiontoParsedText in class AbstractExpressionExpressionprotected void toParsedText(java.lang.StringBuilder writer,
boolean actual)
Expression, including its children,
if it has any.toParsedText in class AbstractExpressionwriter - The buffer used to append this Expression's string representationactual - Determines whether the string representation should represent what was parsed,
i.e. include any "virtual" whitespace (such as ending whitespace) and the actual case of the
JPQL identifiers