Class AsOfClause

  • All Implemented Interfaces:
    java.io.Serializable
    Direct Known Subclasses:
    AsOfSCNClause

    public class AsOfClause
    extends java.lang.Object
    implements java.io.Serializable
    Purpose:Wraps an immutable value for a past time. A session, query, or expression can be as of a past time.

    For Oracle 9R2 Flasback corresponds to the sub clause which appears between the table and alias name in the FROM clause: SELECT ... FROM EMPLOYEE AS OF TIMESTAMP (value) t0, ...

    For generic historical schema support, a special criteria can be added to the where clause for each table in a select: ((t0.ROW_START <= value) AND ((t0.END IS NULL) OR (t1.END > value)))

    Responsibilities:

    • By default AsOfClause is a timestamp. To specify a system change number use AsOfSCNClause.
    • For Oracle 9R2 Flashback prints the correct AS OF clause before the alias name in the FROM clause.
    • Read-only: the wrapped value can not change.
    See Also:
    Expression.asOf(AsOfClause), ObjectLevelReadQuery.setAsOfClause(AsOfClause), Session.acquireHistoricalSession(AsOfClause), HistoryPolicy, Serialized Form
    Author:
    Stephen McRitchie
    Since:
    OracleAS TopLink 10g (10.0.3)
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(java.lang.Object object)
      INTERNAL: Return if the as of is equal to the other.
      java.lang.Object getValue()
      PUBLIC: The past time represented by the receiver.
      boolean isAsOfSCNClause()
      PUBLIC: Indicates that value is a system change number or an expression evaluating to one.
      boolean isUniversal()
      PUBLIC: Answers if this is a UniversalAsOfClause, one to be applied to the entire selection criteria.
      void printSQL​(org.eclipse.persistence.internal.expressions.ExpressionSQLPrinter printer)
      INTERNAL: Prints the as of clause for an expression inside of the FROM clause.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • NO_CLAUSE

        public static final AsOfClause NO_CLAUSE
    • Constructor Detail

      • AsOfClause

        protected AsOfClause()
      • AsOfClause

        public AsOfClause​(java.util.Date date)
      • AsOfClause

        public AsOfClause​(java.sql.Timestamp timestamp)
      • AsOfClause

        public AsOfClause​(java.util.Calendar calendar)
      • AsOfClause

        public AsOfClause​(long time)
      • AsOfClause

        public AsOfClause​(java.lang.Long time)
      • AsOfClause

        protected AsOfClause​(java.lang.Number number)
      • AsOfClause

        public AsOfClause​(Expression expression)
      • AsOfClause

        protected AsOfClause​(AsOfClause wrappedValue)
    • Method Detail

      • equals

        public boolean equals​(java.lang.Object object)
        INTERNAL: Return if the as of is equal to the other. Equality of asOf clauses is complex (with subclasses), so only use identity.
        Overrides:
        equals in class java.lang.Object
      • printSQL

        public void printSQL​(org.eclipse.persistence.internal.expressions.ExpressionSQLPrinter printer)
        INTERNAL: Prints the as of clause for an expression inside of the FROM clause.
      • getValue

        public java.lang.Object getValue()
        PUBLIC: The past time represented by the receiver. Either a timestamp, a system change number, or an Expression.
      • isAsOfSCNClause

        public boolean isAsOfSCNClause()
        PUBLIC: Indicates that value is a system change number or an expression evaluating to one.

        In Oracle the value will have to be printed using the syntax AS OF SCN(value) instead of AS OF TIMESTAMP(value).

        See Also:
        AsOfSCNClause
      • isUniversal

        public boolean isUniversal()
        PUBLIC: Answers if this is a UniversalAsOfClause, one to be applied to the entire selection criteria.

        Used when a query is made as of a past time.

      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object