com.triactive.jdo.store.adapter
Class ForeignKeyInfo

java.lang.Object
  extended bycom.triactive.jdo.store.adapter.CatalogInfo
      extended bycom.triactive.jdo.store.adapter.ForeignKeyInfo

public class ForeignKeyInfo
extends CatalogInfo

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(java.lang.String, java.lang.String, java.lang.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).

Author:
Mike Martin
See Also:
DatabaseAdapter.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.
ForeignKeyInfo(java.lang.String pkTableCat, java.lang.String pkTableSchem, java.lang.String pkTableName, java.lang.String pkColumnName, java.lang.String fkTableCat, java.lang.String fkTableSchem, java.lang.String fkTableName, java.lang.String fkColumnName, short keySeq, short updateRule, short deleteRule, java.lang.String fkName, java.lang.String pkName, short deferrability)
          Constructs a foreign key information object from its individual attributes.
 
Method Summary
 boolean equals(java.lang.Object obj)
          Indicates whether some object is "equal to" this one.
 java.lang.String getTableCatalog()
           
 java.lang.String getTableName()
           
 java.lang.String getTableSchema()
           
 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 java.sql.SQLException
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 DatabaseMetaData.getImportedKeys() or 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 DatabaseMetaData.get??portedKeys().
Throws:
java.sql.SQLException - if a column of foreign key information could not be retrieved from the result set.

ForeignKeyInfo

public ForeignKeyInfo(java.lang.String pkTableCat,
                      java.lang.String pkTableSchem,
                      java.lang.String pkTableName,
                      java.lang.String pkColumnName,
                      java.lang.String fkTableCat,
                      java.lang.String fkTableSchem,
                      java.lang.String fkTableName,
                      java.lang.String fkColumnName,
                      short keySeq,
                      short updateRule,
                      short deleteRule,
                      java.lang.String fkName,
                      java.lang.String pkName,
                      short deferrability)
Constructs a foreign key information object from its individual attributes.

This can be useful to subclasses and/or custom DatabaseAdapters that need to modify and/or correct the metadata returned by the JDBC driver.

Method Detail

getTableCatalog

public java.lang.String getTableCatalog()
Specified by:
getTableCatalog in class CatalogInfo

getTableSchema

public java.lang.String getTableSchema()
Specified by:
getTableSchema in class CatalogInfo

getTableName

public java.lang.String getTableName()
Specified by:
getTableName in class CatalogInfo

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.


toString

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



Copyright 2001-2007 The TJDO Project All Rights Reserved.