org.jpox.store.rdbms.typeinfo
Class ForeignKeyInfo

java.lang.Object
  extended byorg.jpox.store.rdbms.typeinfo.ForeignKeyInfo
Direct Known Subclasses:
ExportedKeyInfo, PostgreSQLForeignKeyInfo

public class ForeignKeyInfo
extends java.lang.Object

Represents the metadata of a specific foreign key column. This class is basically a data structure that makes accessing the JDBC foreign key metadata easier. Each of the items returned by DatabaseMetaData.getImportedKeys(String,String,String) or DatabaseMetaData.getExportedKeys(String,String,String) is represented by a public field in this class. Subclasses of ForeignKeyInfo can be created on a per-DBMS basis to supply missing metadata or correct faulty metadata obtained from that DBMS's JDBC driver(s).

Version:
$Revision: 1.2 $
See Also:
RDBMSStoreHelper.getForeignKeyInfoForTable(org.jpox.store.rdbms.RDBMSManager, org.jpox.store.rdbms.table.Table, java.sql.Connection), RDBMSAdapter.newForeignKeyInfo(java.sql.ResultSet)

Field Summary
 short deferrability
          Indicates whether the evaluation of the foreign key constraint can be deferred until commit time.
 short deleteRule
          What happens to a foreign key when the primary key is deleted.
 java.lang.String fkColumnName
          The foreign key column name.
 java.lang.String fkName
          The foreign key name.
 java.lang.String fkTableCat
          The foreign key table catalog, which may be null.
 java.lang.String fkTableName
          The foreign key table name.
 java.lang.String fkTableSchem
          The foreign key table schema, which may be null.
 short keySeq
          The sequence number within the foreign key, base 1.
 java.lang.String pkColumnName
          The primary key column name.
 java.lang.String pkName
          The primary key name.
 java.lang.String pkTableCat
          The primary key table catalog, which may be null.
 java.lang.String pkTableName
          The primary key table name.
 java.lang.String pkTableSchem
          The primary key table schema, which may be null.
 short updateRule
          What happens to a foreign key when the primary key is updated.
 
Constructor Summary
ForeignKeyInfo(java.sql.ResultSet rs)
          Constructs a foreign key information object from the current row of the given result set.
 
Method Summary
 boolean equals(java.lang.Object obj)
          Indicates whether some object is "equal to" this one.
 int hashCode()
          Returns a hash code value for this object.
 java.lang.String toString()
          Returns the string representation of this object.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

pkTableCat

public java.lang.String pkTableCat
The primary key table catalog, which may be null.


pkTableSchem

public java.lang.String pkTableSchem
The primary key table schema, which may be null.


pkTableName

public java.lang.String pkTableName
The primary key table name.


pkColumnName

public java.lang.String pkColumnName
The primary key column name.


fkTableCat

public java.lang.String fkTableCat
The foreign key table catalog, which may be null.


fkTableSchem

public java.lang.String fkTableSchem
The foreign key table schema, which may be null.


fkTableName

public java.lang.String fkTableName
The foreign key table name.


fkColumnName

public java.lang.String fkColumnName
The foreign key column name.


keySeq

public short keySeq
The sequence number within the foreign key, base 1.


updateRule

public short updateRule
What happens to a foreign key when the primary key is updated.

See Also:
DatabaseMetaData.importedKeyNoAction, DatabaseMetaData.importedKeyCascade, DatabaseMetaData.importedKeySetNull, DatabaseMetaData.importedKeySetDefault, DatabaseMetaData.importedKeyRestrict

deleteRule

public short deleteRule
What happens to a foreign key when the primary key is deleted.

See Also:
DatabaseMetaData.importedKeyNoAction, DatabaseMetaData.importedKeyCascade, DatabaseMetaData.importedKeySetNull, DatabaseMetaData.importedKeySetDefault, DatabaseMetaData.importedKeyRestrict

fkName

public java.lang.String fkName
The foreign key name.


pkName

public java.lang.String pkName
The primary key name.


deferrability

public short deferrability
Indicates whether the evaluation of the foreign key constraint can be deferred until commit time.

See Also:
DatabaseMetaData.importedKeyInitiallyDeferred, DatabaseMetaData.importedKeyInitiallyImmediate, DatabaseMetaData.importedKeyNotDeferrable
Constructor Detail

ForeignKeyInfo

public ForeignKeyInfo(java.sql.ResultSet rs)
               throws javax.jdo.JDOFatalDataStoreException
Constructs a foreign key information object from the current row of the given result set. The ResultSet object passed must have been obtained from a call to java.sql.DatabaseMetaData.getImportedKeys() or java.sql.DatabaseMetaData.getImportedKeys().

This method only retrieves the values from the current row; the caller is required to advance to the next row with ResultSet.next().

Parameters:
rs - The result set returned from java.sql.DatabaseMetaData.getImportedKeys() or java.sql.DatabaseMetaData.getExportedKeys().
Throws:
javax.jdo.JDOFatalDataStoreException - if a column of foreign key information could not be retrieved from the result set.
Method Detail

equals

public final boolean equals(java.lang.Object obj)
Indicates whether some object is "equal to" this one. Two ForeignKeyInfo objects are considered equal if their catalog, schema, table, and column names, both primary and foreign, are all equal.

Parameters:
obj - the reference object with which to compare
Returns:
true if this object is equal to the obj argument; false otherwise.

hashCode

public final int hashCode()
Returns a hash code value for this object.

Returns:
a hash code value for this object.

toString

public java.lang.String toString()
Returns the string representation of this object.

Returns:
string representation of this object.


Copyright © -2007 . All Rights Reserved.