Class DateTimeStateObject
- java.lang.Object
-
- org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractStateObject
-
- org.eclipse.persistence.jpa.jpql.tools.model.query.SimpleStateObject
-
- org.eclipse.persistence.jpa.jpql.tools.model.query.DateTimeStateObject
-
- All Implemented Interfaces:
StateObject
public class DateTimeStateObject extends SimpleStateObject
ThisDateTimeStateObject
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.
BNF: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.
BNF:expression ::= {d 'yyyy-mm-dd'} | {t 'hh:mm:ss'} | {ts 'yyyy-mm-dd hh:mm:ss.f...'}
- Version:
- 2.4
- See Also:
DateTime
- Author:
- Pascal Filion
- Since:
- 2.4
-
-
Field Summary
-
Fields inherited from class org.eclipse.persistence.jpa.jpql.tools.model.query.SimpleStateObject
TEXT_PROPERTY
-
-
Constructor Summary
Constructors Constructor Description DateTimeStateObject(StateObject parent)
Creates a newDateTimeStateObject
.DateTimeStateObject(StateObject parent, java.lang.String date)
Creates a newDateTimeStateObject
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(StateObjectVisitor visitor)
Visits thisStateObject
by the givenvisitor
.DateTime
getExpression()
Returns the actual parsed object if thisStateObject
representation of the JPQL query was created by parsing an existing JPQL query.boolean
isCurrentDate()
Determines whether thisDateTime
represents the JPQL identifierCURRENT_DATE
.boolean
isCurrentTime()
Determines whether thisDateTime
represents the JPQL identifierCURRENT_TIME
.boolean
isCurrentTimestamp()
Determines whether thisDateTime
represents the JPQL identifierCURRENT_TIMESTAMP
.boolean
isJDBCDate()
Determines whether thisDateTime
represents the JDBC escape syntax for date, time, timestamp formats.void
setExpression(DateTime expression)
Keeps a reference of theparsed object
object, which should only be done when this object is instantiated during the conversion of a parsed JPQL query intoStateObjects
.-
Methods inherited from class org.eclipse.persistence.jpa.jpql.tools.model.query.SimpleStateObject
getText, hasText, isEquivalent, setText, setTextInternally, toTextInternal
-
Methods inherited from class org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractStateObject
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
-
-
-
-
Constructor Detail
-
DateTimeStateObject
public DateTimeStateObject(StateObject parent)
Creates a newDateTimeStateObject
.- Parameters:
parent
- The parent of this state object, which cannot benull
- Throws:
java.lang.NullPointerException
- The given parent cannot benull
-
DateTimeStateObject
public DateTimeStateObject(StateObject parent, java.lang.String date)
Creates a newDateTimeStateObject
.- Parameters:
parent
- The parent of this state object, which cannot benull
date
- EitherDATE
,TIME
,TIMESTAMP
or a JDBC date- Throws:
java.lang.NullPointerException
- The given parent cannot benull
-
-
Method Detail
-
accept
public void accept(StateObjectVisitor visitor)
Visits thisStateObject
by the givenvisitor
.- Parameters:
visitor
- Thevisitor
to visit this object
-
getExpression
public DateTime getExpression()
Returns the actual parsed object if thisStateObject
representation of the JPQL query was created by parsing an existing JPQL query.- Specified by:
getExpression
in interfaceStateObject
- Overrides:
getExpression
in classAbstractStateObject
- Returns:
- The parsed object when a JPQL query is parsed and converted into a
StateObject
ornull
when the JPQL query is manually created (i.e. not from a string)
-
isCurrentDate
public boolean isCurrentDate()
Determines whether thisDateTime
represents the JPQL identifierCURRENT_DATE
.- Returns:
true
if thisExpression
representsCURRENT_DATE
;false
otherwise
-
isCurrentTime
public boolean isCurrentTime()
Determines whether thisDateTime
represents the JPQL identifierCURRENT_TIME
.- Returns:
true
if thisExpression
representsCURRENT_TIME
;false
otherwise
-
isCurrentTimestamp
public boolean isCurrentTimestamp()
Determines whether thisDateTime
represents the JPQL identifierCURRENT_TIMESTAMP
.- Returns:
true
if thisExpression
representsCURRENT_TIMESTAMP
;false
otherwise
-
isJDBCDate
public boolean isJDBCDate()
Determines whether thisDateTime
represents the JDBC escape syntax for date, time, timestamp formats.- Returns:
true
if thisExpression
represents a JDBC escape syntax;false
otherwise
-
setExpression
public void setExpression(DateTime expression)
Keeps a reference of theparsed object
object, which should only be done when this object is instantiated during the conversion of a parsed JPQL query intoStateObjects
.- Parameters:
expression
- Theparsed object
representing a date literal
-
-