public class DateTimeStateObject extends SimpleStateObject
DateTimeStateObject
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...'}
DateTime
TEXT_PROPERTY
Constructor and Description |
---|
DateTimeStateObject(StateObject parent)
Creates a new
DateTimeStateObject . |
DateTimeStateObject(StateObject parent,
java.lang.String date)
Creates a new
DateTimeStateObject . |
Modifier and Type | Method and Description |
---|---|
void |
accept(StateObjectVisitor visitor)
Visits this
StateObject by the given visitor . |
DateTime |
getExpression()
Returns the actual parsed object if this
StateObject representation of the JPQL query
was created by parsing an existing JPQL query. |
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. |
void |
setExpression(DateTime expression)
Keeps a reference of the
parsed object object, which should only be
done when this object is instantiated during the conversion of a parsed JPQL query into
StateObjects . |
getText, hasText, isEquivalent, setText, setTextInternally, toTextInternal
acceptUnknownVisitor, acceptUnknownVisitor, addChildren, addProblems, addPropertyChangeListener, areEquivalent, buildProblem, buildProblem, buildStateObject, buildStateObjects, checkParent, children, decorate, equals, findIdentificationVariable, firePropertyChanged, getChangeSupport, getDeclaration, getDecorator, getGrammar, getManagedTypeProvider, getParent, getQueryBuilder, getRoot, getType, getType, getTypeHelper, getTypeRepository, hashCode, initialize, isDecorated, parent, parent, parent, removePropertyChangeListener, setExpression, setParent, toString, toString, toStringInternal, toStringItems, toText
public DateTimeStateObject(StateObject parent)
DateTimeStateObject
.parent
- The parent of this state object, which cannot be null
java.lang.NullPointerException
- The given parent cannot be null
public DateTimeStateObject(StateObject parent, java.lang.String date)
DateTimeStateObject
.parent
- The parent of this state object, which cannot be null
date
- Either DATE
, TIME
, TIMESTAMP
or a JDBC datejava.lang.NullPointerException
- The given parent cannot be null
public void accept(StateObjectVisitor visitor)
StateObject
by the given visitor
.visitor
- The visitor
to visit this objectpublic DateTime getExpression()
StateObject
representation of the JPQL query
was created by parsing an existing JPQL query.getExpression
in interface StateObject
getExpression
in class AbstractStateObject
StateObject
or null
when the JPQL query is manually created (i.e. not from a string)public 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 void setExpression(DateTime expression)
parsed object
object, which should only be
done when this object is instantiated during the conversion of a parsed JPQL query into
StateObjects
.expression
- The parsed object
representing a date literal