com.triactive.jdo.store.adapter
Class IndexInfo

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

public class IndexInfo
extends CatalogInfo

Represents the metadata of a specific index column. This class is basically a data structure that makes accessing the JDBC index metadata easier. Each of the items returned by DatabaseMetaData.getIndexInfo(java.lang.String, java.lang.String, java.lang.String, boolean, boolean) is represented by a public field in this class.

Subclasses of IndexInfo 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.newIndexInfo(java.sql.ResultSet)

Field Summary
 java.lang.String ascOrDesc
          Column sort sequence.
 int cardinality
          When type is tableIndexStatistic, then this is the number of rows in the table; otherwise, it is the number of unique values in the index.
 java.lang.String columnName
          Column name.
 java.lang.String filterCondition
          Filter condition, if any.
 java.lang.String indexName
          Index name.
 java.lang.String indexQualifier
          Index catalog (may be null).
 boolean nonUnique
          Can index values be non-unique.
 short ordinalPosition
          Column sequence number within index.
 int pages
          When type is tableIndexStatistic then this is the number of pages used for the table, otherwise it is the number of pages used for the current index.
 java.lang.String tableCat
          Table catalog, which may be null.
 java.lang.String tableName
          Table name.
 java.lang.String tableSchem
          Table schema, which may be null.
 short type
          Index type.
 
Constructor Summary
IndexInfo(java.sql.ResultSet rs)
          Constructs a index information object from the current row of the given result set.
IndexInfo(java.lang.String tableCat, java.lang.String tableSchem, java.lang.String tableName, boolean nonUnique, java.lang.String indexQualifier, java.lang.String indexName, short type, short ordinalPosition, java.lang.String columnName, java.lang.String ascOrDesc, int cardinality, int pages, java.lang.String filterCondition)
          Constructs a index 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

tableCat

public java.lang.String tableCat
Table catalog, which may be null.


tableSchem

public java.lang.String tableSchem
Table schema, which may be null.


tableName

public java.lang.String tableName
Table name.


nonUnique

public boolean nonUnique
Can index values be non-unique.


indexQualifier

public java.lang.String indexQualifier
Index catalog (may be null).


indexName

public java.lang.String indexName
Index name.


type

public short type
Index type.

See Also:
DatabaseMetaData.tableIndexStatistic, DatabaseMetaData.tableIndexClustered, DatabaseMetaData.tableIndexHashed, DatabaseMetaData.tableIndexOther

ordinalPosition

public short ordinalPosition
Column sequence number within index.


columnName

public java.lang.String columnName
Column name.


ascOrDesc

public java.lang.String ascOrDesc
Column sort sequence. "A" = ascending, "D" = descending, may be null if sort sequence is not supported.


cardinality

public int cardinality
When type is tableIndexStatistic, then this is the number of rows in the table; otherwise, it is the number of unique values in the index.


pages

public int pages
When type is tableIndexStatistic then this is the number of pages used for the table, otherwise it is the number of pages used for the current index.


filterCondition

public java.lang.String filterCondition
Filter condition, if any.

Constructor Detail

IndexInfo

public IndexInfo(java.sql.ResultSet rs)
          throws java.sql.SQLException
Constructs a index information object from the current row of the given result set. The result set passed must have been obtained from a call to DatabaseMetaData.getIndexInfo().

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.getIndexInfo().
Throws:
java.sql.SQLException - if a column of index information could not be retrieved from the result set.

IndexInfo

public IndexInfo(java.lang.String tableCat,
                 java.lang.String tableSchem,
                 java.lang.String tableName,
                 boolean nonUnique,
                 java.lang.String indexQualifier,
                 java.lang.String indexName,
                 short type,
                 short ordinalPosition,
                 java.lang.String columnName,
                 java.lang.String ascOrDesc,
                 int cardinality,
                 int pages,
                 java.lang.String filterCondition)
Constructs a index 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 IndexInfo objects are considered equal if their catalog, schema, table, index name, type, and ordinal position 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.