|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.hsqldb.jdbc.JDBCRowId
public final class JDBCRowId
The representation (mapping) in the Java programming language of an SQL ROWID value. An SQL ROWID is a built-in type, a value of which can be thought of as an address for its identified row in a database table. Whether that address is logical or, in any respects, physical is determined by its originating data source.
Methods in the interfaces ResultSet
, CallableStatement
,
and PreparedStatement
, such as getRowId
and setRowId
allow a programmer to access a SQL ROWID
value. The RowId
interface provides a method
for representing the value of the ROWID
as a byte array or as a
String
.
The method getRowIdLifetime
in the interface DatabaseMetaData
,
can be used
to determine if a RowId
object remains valid for the duration of the transaction in
which the RowId
was created, the duration of the session in which
the RowId
was created,
or, effectively, for as long as its identified row is not deleted. In addition
to specifying the duration of its valid lifetime outside its originating data
source, getRowIdLifetime
specifies the duration of a ROWID
value's valid lifetime
within its originating data source. In this, it differs from a large object,
because there is no limit on the valid lifetime of a large object within its
originating data source.
All methods on the RowId
interface must be fully implemented if the
JDBC driver supports the data type.
DatabaseMetaData
Constructor Summary | |
---|---|
JDBCRowId(byte[] id)
Constructs a new JDBCRowId instance wrapping the given octet sequence. |
|
JDBCRowId(RowId id)
Constructs a new JDBCRowId instance whose internal octet sequence is is a copy of the octet sequence of the given RowId object. |
|
JDBCRowId(String hex)
Constructs a new JDBCRowId instance whose internal octet sequence is is that represented by the given hexidecimal character sequence. |
Method Summary | |
---|---|
boolean |
equals(Object obj)
Compares this RowId to the specified object. |
byte[] |
getBytes()
Returns an array of bytes representing the value of the SQL ROWID
designated by this java.sql.RowId object. |
int |
hashCode()
Returns a hash code value of this RowId object. |
String |
toString()
Returns a String representing the value of the SQL ROWID designated by this java.sql.RowId object. |
Methods inherited from class java.lang.Object |
---|
getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public JDBCRowId(byte[] id) throws SQLException
This constructor may be used internally to retrieve result set values as RowId objects, yet it also may need to be public to allow access from other packages. As such (in the interest of efficiency) this object maintains a reference to the given octet sequence rather than making a copy; special care should be taken by extenal clients never to use this constructor with a byte array object that may later be modified extenally.
id
- the octet sequence representing the Rowid value
SQLException
- if the argument is nullpublic JDBCRowId(RowId id) throws SQLException
id
- the octet sequence representing the Rowid value
SQLException
- if the argument is nullpublic JDBCRowId(String hex) throws SQLException
hex
- the hexadecimal character sequence from which to derive
the internal octet sequence
SQLException
- if the argument is null or is not a valid
hexadecimal character sequenceMethod Detail |
---|
public boolean equals(Object obj)
RowId
to the specified object. The result is
true
if and only if the argument is not null and is a RowId
object that represents the same ROWID as this object.
It is important
to consider both the origin and the valid lifetime of a RowId
when comparing it to another RowId
. If both are valid, and
both are from the same table on the same data source, then if they are equal
they identify
the same row; if one or more is no longer guaranteed to be valid, or if
they originate from different data sources, or different tables on the
same data source, they may be equal but still
not identify the same row.
equals
in interface RowId
equals
in class Object
obj
- the Object
to compare this RowId
object
against.
RowId
s are equal; false otherwisepublic byte[] getBytes()
ROWID
designated by this java.sql.RowId
object.
getBytes
in interface RowId
public String toString()
java.sql.RowId
object.
Like java.sql.Date.toString()
returns the contents of its DATE as the String
"2004-03-17"
rather than as DATE literal in SQL (which would have been the String
DATE "2004-03-17"), toString()
returns the contents of its ROWID in a form specific to the driver supplying
the connection, and possibly not as a ROWID
literal.
toString
in interface RowId
toString
in class Object
ROWID
designated
by this java.sql.RowId
object.public int hashCode()
RowId
object.
hashCode
in interface RowId
hashCode
in class Object
RowId
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |