Package org.postgresql.pljava.jdbc
Class AbstractResultSetMetaData
- java.lang.Object
-
- org.postgresql.pljava.jdbc.AbstractResultSetMetaData
-
- All Implemented Interfaces:
ResultSetMetaData
,Wrapper
- Direct Known Subclasses:
SPIResultSetMetaData
,SyntheticResultSetMetaData
public abstract class AbstractResultSetMetaData extends Object implements ResultSetMetaData
Implementation of ResultSetMetaData for SyntheticResultSet- Author:
- Filip Hrbek
-
-
Field Summary
-
Fields inherited from interface java.sql.ResultSetMetaData
columnNoNulls, columnNullable, columnNullableUnknown
-
-
Constructor Summary
Constructors Constructor Description AbstractResultSetMetaData()
Constructor.
-
Method Summary
Modifier and Type Method Description protected abstract void
checkColumnIndex(int column)
Checks if the column index is valid.String
getCatalogName(int column)
Gets the designated column's table's catalog name.abstract String
getColumnClassName(int column)
Returns the fully-qualified name of the Java class whose instances are manufactured if the methodResultSet.getObject
is called to retrieve a value from the column.abstract int
getColumnCount()
Returns the number of columns in thisResultSet
object.int
getColumnDisplaySize(int column)
Indicates the designated column's normal maximum width in characters.abstract String
getColumnLabel(int column)
Gets the designated column's suggested title for use in printouts and displays.String
getColumnName(int column)
Get the designated column's name.int
getColumnType(int column)
Retrieves the designated column's SQL type.String
getColumnTypeName(int column)
Retrieves the designated column's database-specific type name.protected abstract int
getFieldLength(int column)
Gets column lengthprotected abstract Oid
getOid(int column)
Gets column OIDint
getPrecision(int column)
Get the designated column's number of decimal digits.int
getScale(int column)
Gets the designated column's number of digits to right of the decimal point.String
getSchemaName(int column)
Get the designated column's table's schema.String
getTableName(int column)
Gets the designated column's table name.abstract boolean
isAutoIncrement(int column)
Indicates whether the designated column is automatically numbered, thus read-only.boolean
isCaseSensitive(int column)
Indicates whether a column's case matters.boolean
isCurrency(int column)
Indicates whether the designated column is a cash value.boolean
isDefinitelyWritable(int column)
Indicates whether a write on the designated column will definitely succeed.int
isNullable(int column)
Indicates the nullability of values in the designated column.boolean
isReadOnly(int column)
Indicates whether the designated column is definitely not writable.boolean
isSearchable(int column)
Indicates whether the designated column can be used in a where clause.boolean
isSigned(int column)
Indicates whether values in the designated column are signed numbers.boolean
isWrapperFor(Class<?> iface)
boolean
isWritable(int column)
Indicates whether it is possible for a write on the designated column to succeed.<T> T
unwrap(Class<T> iface)
-
-
-
Method Detail
-
getColumnCount
public abstract int getColumnCount() throws SQLException
Returns the number of columns in thisResultSet
object.- Specified by:
getColumnCount
in interfaceResultSetMetaData
- Returns:
- the number of columns
- Throws:
SQLException
- if a database access error occurs
-
isAutoIncrement
public abstract boolean isAutoIncrement(int column) throws SQLException
Indicates whether the designated column is automatically numbered, thus read-only.- Specified by:
isAutoIncrement
in interfaceResultSetMetaData
- Parameters:
column
- the first column is 1, the second is 2, ...- Returns:
true
if so;false
otherwise- Throws:
SQLException
- if a database access error occurs
-
isCaseSensitive
public final boolean isCaseSensitive(int column) throws SQLException
Indicates whether a column's case matters.- Specified by:
isCaseSensitive
in interfaceResultSetMetaData
- Parameters:
column
- the first column is 1, the second is 2, ...- Returns:
true
if so;false
otherwise- Throws:
SQLException
- if a database access error occurs
-
isSearchable
public final boolean isSearchable(int column) throws SQLException
Indicates whether the designated column can be used in a where clause.- Specified by:
isSearchable
in interfaceResultSetMetaData
- Parameters:
column
- the first column is 1, the second is 2, ...- Returns:
true
if so;false
otherwise- Throws:
SQLException
- if a database access error occurs
-
isCurrency
public final boolean isCurrency(int column) throws SQLException
Indicates whether the designated column is a cash value.- Specified by:
isCurrency
in interfaceResultSetMetaData
- Parameters:
column
- the first column is 1, the second is 2, ...- Returns:
true
if so;false
otherwise- Throws:
SQLException
- if a database access error occurs
-
isNullable
public final int isNullable(int column) throws SQLException
Indicates the nullability of values in the designated column.- Specified by:
isNullable
in interfaceResultSetMetaData
- Parameters:
column
- the first column is 1, the second is 2, ...- Returns:
- the nullability status of the given column; one of
columnNoNulls
,columnNullable
orcolumnNullableUnknown
- Throws:
SQLException
- if a database access error occurs
-
isSigned
public final boolean isSigned(int column) throws SQLException
Indicates whether values in the designated column are signed numbers.- Specified by:
isSigned
in interfaceResultSetMetaData
- Parameters:
column
- the first column is 1, the second is 2, ...- Returns:
true
if so;false
otherwise- Throws:
SQLException
- if a database access error occurs
-
getColumnDisplaySize
public final int getColumnDisplaySize(int column) throws SQLException
Indicates the designated column's normal maximum width in characters.- Specified by:
getColumnDisplaySize
in interfaceResultSetMetaData
- Parameters:
column
- the first column is 1, the second is 2, ...- Returns:
- the normal maximum number of characters allowed as the width of the designated column
- Throws:
SQLException
- if a database access error occurs
-
getColumnLabel
public abstract String getColumnLabel(int column) throws SQLException
Gets the designated column's suggested title for use in printouts and displays.- Specified by:
getColumnLabel
in interfaceResultSetMetaData
- Parameters:
column
- the first column is 1, the second is 2, ...- Returns:
- the suggested column title
- Throws:
SQLException
- if a database access error occurs
-
getColumnName
public String getColumnName(int column) throws SQLException
Get the designated column's name.- Specified by:
getColumnName
in interfaceResultSetMetaData
- Parameters:
column
- the first column is 1, the second is 2, ...- Returns:
- column name
- Throws:
SQLException
- if a database access error occurs
-
getSchemaName
public final String getSchemaName(int column) throws SQLException
Get the designated column's table's schema.- Specified by:
getSchemaName
in interfaceResultSetMetaData
- 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 final int getPrecision(int column) throws SQLException
Get the designated column's number of decimal digits.- Specified by:
getPrecision
in interfaceResultSetMetaData
- Parameters:
column
- the first column is 1, the second is 2, ...- Returns:
- precision
- Throws:
SQLException
- if a database access error occurs
-
getScale
public final int getScale(int column) throws SQLException
Gets the designated column's number of digits to right of the decimal point.- Specified by:
getScale
in interfaceResultSetMetaData
- Parameters:
column
- the first column is 1, the second is 2, ...- Returns:
- scale
- Throws:
SQLException
- if a database access error occurs
-
getTableName
public final String getTableName(int column) throws SQLException
Gets the designated column's table name.- Specified by:
getTableName
in interfaceResultSetMetaData
- Parameters:
column
- the first column is 1, the second is 2, ...- Returns:
- table name or "" if not applicable
- Throws:
SQLException
- if a database access error occurs
-
getCatalogName
public final String getCatalogName(int column) throws SQLException
Gets the designated column's table's catalog name.- Specified by:
getCatalogName
in interfaceResultSetMetaData
- Parameters:
column
- the first column is 1, the second is 2, ...- Returns:
- the name of the catalog for the table in which the given column appears or "" if not applicable
- Throws:
SQLException
- if a database access error occurs
-
getColumnType
public final int getColumnType(int column) throws SQLException
Retrieves the designated column's SQL type.- Specified by:
getColumnType
in interfaceResultSetMetaData
- Parameters:
column
- the first column is 1, the second is 2, ...- Returns:
- SQL type from
Types
- Throws:
SQLException
- if a database access error occurs- See Also:
Types
-
getColumnTypeName
public final String getColumnTypeName(int column) throws SQLException
Retrieves the designated column's database-specific type name.- Specified by:
getColumnTypeName
in interfaceResultSetMetaData
- Parameters:
column
- the first column is 1, the second is 2, ...- Returns:
- type name used by the database. If the column type is a user-defined type, then a fully-qualified type name is returned.
- Throws:
SQLException
- if a database access error occurs
-
isReadOnly
public final boolean isReadOnly(int column) throws SQLException
Indicates whether the designated column is definitely not writable.- Specified by:
isReadOnly
in interfaceResultSetMetaData
- Parameters:
column
- the first column is 1, the second is 2, ...- Returns:
true
if so;false
otherwise- Throws:
SQLException
- if a database access error occurs
-
isWritable
public final boolean isWritable(int column) throws SQLException
Indicates whether it is possible for a write on the designated column to succeed.- Specified by:
isWritable
in interfaceResultSetMetaData
- Parameters:
column
- the first column is 1, the second is 2, ...- Returns:
true
if so;false
otherwise- Throws:
SQLException
- if a database access error occurs
-
isDefinitelyWritable
public final boolean isDefinitelyWritable(int column) throws SQLException
Indicates whether a write on the designated column will definitely succeed.- Specified by:
isDefinitelyWritable
in interfaceResultSetMetaData
- Parameters:
column
- the first column is 1, the second is 2, ...- Returns:
true
if so;false
otherwise- Throws:
SQLException
- if a database access error occurs
-
getColumnClassName
public abstract String getColumnClassName(int column) throws SQLException
Returns the fully-qualified name of the Java class whose instances are manufactured if the method
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 interfaceResultSetMetaData
- Parameters:
column
- the first column is 1, the second is 2, ...- Returns:
- the fully-qualified name of the class in the Java programming
language that would be used by the method
ResultSet.getObject
to retrieve the value in the specified column. This is the class name used for custom mapping. - Throws:
SQLException
- if a database access error occurs- Since:
- 1.2
-
checkColumnIndex
protected abstract void checkColumnIndex(int column) throws SQLException
Checks if the column index is valid.- Parameters:
column
- the first column is 1, the second is 2, ...- Throws:
SQLException
- if the column is out of index bounds
-
getOid
protected abstract Oid getOid(int column) throws SQLException
Gets column OID- Parameters:
column
- Column index- Returns:
- column OID
- Throws:
SQLException
- if an error occurs
-
getFieldLength
protected abstract int getFieldLength(int column) throws SQLException
Gets column length- Parameters:
column
- Column index- Returns:
- column length
- Throws:
SQLException
- if an error occurs
-
isWrapperFor
public boolean isWrapperFor(Class<?> iface) throws SQLException
- Specified by:
isWrapperFor
in interfaceWrapper
- Throws:
SQLException
-
unwrap
public <T> T unwrap(Class<T> iface) throws SQLException
- Specified by:
unwrap
in interfaceWrapper
- Throws:
SQLException
-
-