Top Description Methods
org.apache.derby.iapi.store.access

public Interface DatabaseInstant

extends Serializable
Known Direct Subinterfaces
org.apache.derby.iapi.store.raw.log.LogInstant
Imports
java.io.Serializable

A DatabaseInstant is a quantity which the database associates with events to collate them. This interface is used in the column SYS.SYSSYNCINSTANTS.INSTANT.

Assume a database associates a DatabaseInstant to an event E1. We call this I(E1). Also assume the same Database associates a DatabaseInstant to a second event E2. We call this I(E2). By definition

  1. If I(E1) < I(E2) event E1 occurred before event E2
  2. If I(E2) = I(E2) event E1 is the same event as E2
  3. If I(E1) > I(E2) event E1 occurred after event E2

It is not meaningful to compare a DatabaseInstant from one database with a DatabaseInstant from another. The result of such a comparison is undefined. Because a database may construct, store and compare huge numbers of DatabaseInstants, this interface does not require an implementation to notice when a caller compares a DatabaseInstants from different databases.

Any implementation of this interface must implement value equality, thus implementing equals() and hashCode() methods.

Method Summary

Modifier and TypeMethod and Description
public boolean

Returns:

the comparison result. If 'other' is from another database the result is undefined.
equals
(Object
a DatabaseInstant from the same database as this.
other
)

Return true if this DatabaseInstant equals DatabaseInstant from the same database.

public boolean

Returns:

the comparison result. If 'other' is from another database the result is undefined.
lessThan
(DatabaseInstant
a DatabaseInstant from the same database as this.
other
)

Return true if this DatabaseInstant is before another DatabaseInstant from the same database.

public DatabaseInstant

Returns:

the next possible DatabaseInstant
next
()

Return the next higher DatabaseInstant.

public DatabaseInstant

Returns:

the prior possible DatabaseInstant
prior
()

Return the next lower DatabaseInstant.

public String

Returns:

a string representation of the instant.
toString
()

Convert the database instant to a string.

Method Detail

equalsback to summary
public boolean equals(Object other)

Return true if this DatabaseInstant equals DatabaseInstant from the same database.

Parameters
other:Object

a DatabaseInstant from the same database as this.

Returns:boolean

the comparison result. If 'other' is from another database the result is undefined.

lessThanback to summary
public boolean lessThan(DatabaseInstant other)

Return true if this DatabaseInstant is before another DatabaseInstant from the same database.

Parameters
other:DatabaseInstant

a DatabaseInstant from the same database as this.

Returns:boolean

the comparison result. If 'other' is from another database the result is undefined.

nextback to summary
public DatabaseInstant next()

Return the next higher DatabaseInstant. There is no requirement that a transaction with the next instant exist in the database. It is required that this.lessThan( this.next()), and that no instant can be between this and this.next(). If the DatabaseInstant is implemented using a integer then next() should return a new DatabaseInstant formed by adding one to the integer.

Returns:DatabaseInstant

the next possible DatabaseInstant

priorback to summary
public DatabaseInstant prior()

Return the next lower DatabaseInstant. There is no requirement that a transaction with the next instant exist in the database. It is required that this.prior().lessThan( this), and that no instant can be between this and this.prior(). If the DatabaseInstant is implemented using a integer then prior() should return a new DatabaseInstant formed by subtracting one from the integer.

Returns:DatabaseInstant

the prior possible DatabaseInstant

toStringback to summary
public String toString()

Convert the database instant to a string. This is mainly used for debugging.

Returns:String

a string representation of the instant.