ModSQL
Class ResultSetMetaData

java.lang.Object
  |
  +--ModSQL.ResultSetMetaData
All Implemented Interfaces:
ResultSetMetaData

public class ResultSetMetaData
extends Object
implements ResultSetMetaData

A ResultSetMetaData object can be used to find out about the types and properties of the columns in a ResultSet.

Author:
chris.studholme@utoronto.ca

Field Summary
private  Select query
          Query that generated the ResultSet.
 
Fields inherited from interface java.sql.ResultSetMetaData
columnNoNulls, columnNullable, columnNullableUnknown
 
Constructor Summary
protected ResultSetMetaData(Select query)
          Constructor.
 
Method Summary
 String getCatalogName(int column)
          What's a column's table's catalog name?
 String getColumnClassName(int column)
          Return the fully qualified name of the Java class whose instances are manufactured if ResultSet.getObject() is called to retrieve a value from the column.
 int getColumnCount()
          What's the number of columns in the ResultSet?
 int getColumnDisplaySize(int column)
          What's the column's normal max width in chars?
 String getColumnLabel(int column)
          What's the suggested column title for use in printouts and displays?
 String getColumnName(int column)
          What's a column's name?
 int getColumnType(int column)
          What's a column's SQL type?
 String getColumnTypeName(int column)
          What's a column's data source specific type name?
 int getPrecision(int column)
          What's a column's number of decimal digits?
 int getScale(int column)
          What's a column's number of digits to right of the decimal point?
 String getSchemaName(int column)
          What's a column's table's schema?
 String getTableName(int column)
          What's a column's table name?
 boolean isAutoIncrement(int column)
          Is the column automatically numbered, thus read-only?
 boolean isCaseSensitive(int column)
          Does a column's case matter?
 boolean isCurrency(int column)
          Is the column a cash value?
 boolean isDefinitelyWritable(int column)
          Will a write on the column definitely succeed?
 int isNullable(int column)
          Can you put a NULL in this column?
 boolean isReadOnly(int column)
          Is a column definitely not writable?
 boolean isSearchable(int column)
          Can the column be used in a where clause?
 boolean isSigned(int column)
          Is the column a signed number?
 boolean isWritable(int column)
          Is it possible for a write on the column to succeed?
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

query

private Select query
Query that generated the ResultSet.
Constructor Detail

ResultSetMetaData

protected ResultSetMetaData(Select query)
Constructor.
Parameters:
query - query that generated the ResultSet
Method Detail

getColumnCount

public int getColumnCount()
                   throws SQLException
What's the number of columns in the ResultSet?
Specified by:
getColumnCount in interface ResultSetMetaData
Returns:
the number
Throws:
SQLException - if a database-access error occurs.

isAutoIncrement

public boolean isAutoIncrement(int column)
                        throws SQLException
Is the column automatically numbered, thus read-only?
Specified by:
isAutoIncrement in interface ResultSetMetaData
Parameters:
column - the first column is 1, the second is 2, ...
Returns:
true if so
Throws:
SQLException - if a database-access error occurs.

isCaseSensitive

public boolean isCaseSensitive(int column)
                        throws SQLException
Does a column's case matter?
Specified by:
isCaseSensitive in interface ResultSetMetaData
Parameters:
column - the first column is 1, the second is 2, ...
Returns:
true if so
Throws:
SQLException - if a database-access error occurs.

isSearchable

public boolean isSearchable(int column)
                     throws SQLException
Can the column be used in a where clause?
Specified by:
isSearchable in interface ResultSetMetaData
Parameters:
column - the first column is 1, the second is 2, ...
Returns:
true if so
Throws:
SQLException - if a database-access error occurs.

isCurrency

public boolean isCurrency(int column)
                   throws SQLException
Is the column a cash value?
Specified by:
isCurrency in interface ResultSetMetaData
Parameters:
column - the first column is 1, the second is 2, ...
Returns:
true if so
Throws:
SQLException - if a database-access error occurs.

isNullable

public int isNullable(int column)
               throws SQLException
Can you put a NULL in this column?
Specified by:
isNullable in interface ResultSetMetaData
Parameters:
column - the first column is 1, the second is 2, ...
Returns:
columnNoNulls, columnNullable or columnNullableUnknown
Throws:
SQLException - if a database-access error occurs.

isSigned

public boolean isSigned(int column)
                 throws SQLException
Is the column a signed number?
Specified by:
isSigned in interface ResultSetMetaData
Parameters:
column - the first column is 1, the second is 2, ...
Returns:
true if so
Throws:
SQLException - if a database-access error occurs.

getColumnDisplaySize

public int getColumnDisplaySize(int column)
                         throws SQLException
What's the column's normal max width in chars?
Specified by:
getColumnDisplaySize in interface ResultSetMetaData
Parameters:
column - the first column is 1, the second is 2, ...
Returns:
max width
Throws:
SQLException - if a database-access error occurs.

getColumnLabel

public String getColumnLabel(int column)
                      throws SQLException
What's the suggested column title for use in printouts and displays?
Specified by:
getColumnLabel in interface ResultSetMetaData
Parameters:
column - the first column is 1, the second is 2, ...
Returns:
true if so
Throws:
SQLException - if a database-access error occurs.

getColumnName

public String getColumnName(int column)
                     throws SQLException
What's a column's name?
Specified by:
getColumnName in interface ResultSetMetaData
Parameters:
column - the first column is 1, the second is 2, ...
Returns:
column name
Throws:
SQLException - if a database-access error occurs.

getSchemaName

public String getSchemaName(int column)
                     throws SQLException
What's a column's table's schema?
Specified by:
getSchemaName in interface ResultSetMetaData
Parameters:
column - the first column is 1, the second is 2, ...
Returns:
schema name or "" if not applicable
Throws:
SQLException - if a database-access error occurs.

getPrecision

public int getPrecision(int column)
                 throws SQLException
What's a column's number of decimal digits?
Specified by:
getPrecision in interface ResultSetMetaData
Parameters:
column - the first column is 1, the second is 2, ...
Returns:
precision
Throws:
SQLException - if a database-access error occurs.

getScale

public int getScale(int column)
             throws SQLException
What's a column's number of digits to right of the decimal point?
Specified by:
getScale in interface ResultSetMetaData
Parameters:
column - the first column is 1, the second is 2, ...
Returns:
scale
Throws:
SQLException - if a database-access error occurs.

getTableName

public String getTableName(int column)
                    throws SQLException
What's a column's table name?
Specified by:
getTableName in interface ResultSetMetaData
Returns:
table name or "" if not applicable
Throws:
SQLException - if a database-access error occurs.

getCatalogName

public String getCatalogName(int column)
                      throws SQLException
What's a column's table's catalog name?
Specified by:
getCatalogName in interface ResultSetMetaData
Parameters:
column - the first column is 1, the second is 2, ...
Returns:
column name or "" if not applicable.
Throws:
SQLException - if a database-access error occurs.

getColumnType

public int getColumnType(int column)
                  throws SQLException
What's a column's SQL type?
Specified by:
getColumnType in interface ResultSetMetaData
Parameters:
column - the first column is 1, the second is 2, ...
Returns:
SQL type
Throws:
SQLException - if a database-access error occurs.
See Also:
Types

getColumnTypeName

public String getColumnTypeName(int column)
                         throws SQLException
What's a column's data source specific type name?
Specified by:
getColumnTypeName in interface ResultSetMetaData
Parameters:
column - the first column is 1, the second is 2, ...
Returns:
type name
Throws:
SQLException - if a database-access error occurs.

isReadOnly

public boolean isReadOnly(int column)
                   throws SQLException
Is a column definitely not writable?
Specified by:
isReadOnly in interface ResultSetMetaData
Parameters:
column - the first column is 1, the second is 2, ...
Returns:
true if so
Throws:
SQLException - if a database-access error occurs.

isWritable

public boolean isWritable(int column)
                   throws SQLException
Is it possible for a write on the column to succeed?
Specified by:
isWritable in interface ResultSetMetaData
Parameters:
column - the first column is 1, the second is 2, ...
Returns:
true if so
Throws:
SQLException - if a database-access error occurs.

isDefinitelyWritable

public boolean isDefinitelyWritable(int column)
                             throws SQLException
Will a write on the column definitely succeed?
Specified by:
isDefinitelyWritable in interface ResultSetMetaData
Parameters:
column - the first column is 1, the second is 2, ...
Returns:
true if so
Throws:
SQLException - if a database-access error occurs.

getColumnClassName

public String getColumnClassName(int column)
                          throws SQLException

Return the fully qualified name of the Java class whose instances are manufactured if ResultSet.getObject() is called to retrieve a value from the column. ResultSet.getObject() may return a subClass of the class returned by this method.

Specified by:
getColumnClassName in interface ResultSetMetaData