Package org.eclipse.persistence.history
Class AsOfClause
- java.lang.Object
-
- org.eclipse.persistence.history.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)
-
-
Field Summary
Fields Modifier and Type Field Description static AsOfClause
NO_CLAUSE
-
Constructor Summary
Constructors Modifier Constructor Description protected
AsOfClause()
AsOfClause(long time)
AsOfClause(java.lang.Long time)
protected
AsOfClause(java.lang.Number number)
AsOfClause(java.sql.Timestamp timestamp)
AsOfClause(java.util.Calendar calendar)
AsOfClause(java.util.Date date)
AsOfClause(Expression expression)
protected
AsOfClause(AsOfClause wrappedValue)
-
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 thatvalue
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()
-
-
-
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 classjava.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 thatvalue
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 ofAS 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 classjava.lang.Object
-
-