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_TIMESTAMP
The 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, UNDERSCORE
ABS, 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 . |
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. |
java.lang.String |
toActualText()
Generates a string representation of this
Expression , which needs to include any
characters that are considered virtual, i.e. |
java.lang.String |
toParsedText()
Returns a string representation of this
Expression and its children. |
children, findQueryBNF, getGrammar, getIdentifierVersion, getLength, getOffset, getParent, getQueryBNF, getRoot, isAncestor, orderedChildren, populatePosition, toString
public 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.public java.lang.String getActualIdentifier()
public JPQLQueryBNF getQueryBNF()
Expression
.JPQLQueryBNF
, which represents the grammar of this Expression
public java.lang.String getText()
AbstractExpression
, which can be used in various
ways, it can be a keyword, a literal, etc.AbstractExpression
, 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
otherwisepublic 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 Expression
toActualText
in class AbstractExpression
Expression
public 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 Expression
toParsedText
in class AbstractExpression
Expression
EclipseLink 2.6.3, "build v20160428-59c81c5" API Reference