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
ThisDateTimeStateObjectrepresents 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_TIMESTAMPThe 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 voidaccept(StateObjectVisitor visitor)Visits thisStateObjectby the givenvisitor.DateTimegetExpression()Returns the actual parsed object if thisStateObjectrepresentation of the JPQL query was created by parsing an existing JPQL query.booleanisCurrentDate()Determines whether thisDateTimerepresents the JPQL identifierCURRENT_DATE.booleanisCurrentTime()Determines whether thisDateTimerepresents the JPQL identifierCURRENT_TIME.booleanisCurrentTimestamp()Determines whether thisDateTimerepresents the JPQL identifierCURRENT_TIMESTAMP.booleanisJDBCDate()Determines whether thisDateTimerepresents the JDBC escape syntax for date, time, timestamp formats.voidsetExpression(DateTime expression)Keeps a reference of theparsed objectobject, 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 benulldate- EitherDATE,TIME,TIMESTAMPor a JDBC date- Throws:
java.lang.NullPointerException- The given parent cannot benull
-
-
Method Detail
-
accept
public void accept(StateObjectVisitor visitor)
Visits thisStateObjectby the givenvisitor.- Parameters:
visitor- Thevisitorto visit this object
-
getExpression
public DateTime getExpression()
Returns the actual parsed object if thisStateObjectrepresentation of the JPQL query was created by parsing an existing JPQL query.- Specified by:
getExpressionin interfaceStateObject- Overrides:
getExpressionin classAbstractStateObject- Returns:
- The parsed object when a JPQL query is parsed and converted into a
StateObjectornullwhen the JPQL query is manually created (i.e. not from a string)
-
isCurrentDate
public boolean isCurrentDate()
Determines whether thisDateTimerepresents the JPQL identifierCURRENT_DATE.- Returns:
trueif thisExpressionrepresentsCURRENT_DATE;falseotherwise
-
isCurrentTime
public boolean isCurrentTime()
Determines whether thisDateTimerepresents the JPQL identifierCURRENT_TIME.- Returns:
trueif thisExpressionrepresentsCURRENT_TIME;falseotherwise
-
isCurrentTimestamp
public boolean isCurrentTimestamp()
Determines whether thisDateTimerepresents the JPQL identifierCURRENT_TIMESTAMP.- Returns:
trueif thisExpressionrepresentsCURRENT_TIMESTAMP;falseotherwise
-
isJDBCDate
public boolean isJDBCDate()
Determines whether thisDateTimerepresents the JDBC escape syntax for date, time, timestamp formats.- Returns:
trueif thisExpressionrepresents a JDBC escape syntax;falseotherwise
-
setExpression
public void setExpression(DateTime expression)
Keeps a reference of theparsed objectobject, which should only be done when this object is instantiated during the conversion of a parsed JPQL query intoStateObjects.- Parameters:
expression- Theparsed objectrepresenting a date literal
-
-