Class DateTimeStateObject

  • All Implemented Interfaces:
    StateObject

    public class DateTimeStateObject
    extends SimpleStateObject
    This 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.

    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
    • Constructor Detail

      • DateTimeStateObject

        public DateTimeStateObject​(StateObject parent)
        Creates a new DateTimeStateObject.
        Parameters:
        parent - The parent of this state object, which cannot be null
        Throws:
        java.lang.NullPointerException - The given parent cannot be null
      • DateTimeStateObject

        public DateTimeStateObject​(StateObject parent,
                                   java.lang.String date)
        Creates a new DateTimeStateObject.
        Parameters:
        parent - The parent of this state object, which cannot be null
        date - Either DATE, TIME, TIMESTAMP or a JDBC date
        Throws:
        java.lang.NullPointerException - The given parent cannot be null
    • Method Detail

      • getExpression

        public DateTime getExpression()
        Returns the actual parsed object if this StateObject representation of the JPQL query was created by parsing an existing JPQL query.
        Specified by:
        getExpression in interface StateObject
        Overrides:
        getExpression in class AbstractStateObject
        Returns:
        The parsed object when a JPQL query is parsed and converted into a StateObject or null when the JPQL query is manually created (i.e. not from a string)
      • isJDBCDate

        public boolean isJDBCDate()
        Determines whether this DateTime represents the JDBC escape syntax for date, time, timestamp formats.
        Returns:
        true if this Expression represents a JDBC escape syntax; false otherwise
      • setExpression

        public 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.
        Parameters:
        expression - The parsed object representing a date literal