/*
* Copyright 2002-2014 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.jdbc.support.rowset;
import org.springframework.jdbc.InvalidResultSetAccessException;
Metadata interface for Spring's SqlRowSet
, analogous to JDBC's ResultSetMetaData
. The main difference to the standard JDBC ResultSetMetaData is that a SQLException
is never thrown here. This allows SqlRowSetMetaData to be used without having to deal with checked exceptions. SqlRowSetMetaData will throw Spring's InvalidResultSetAccessException
instead (when appropriate).
Author: Thomas Risberg, Juergen Hoeller See Also: Since: 1.2
/**
* Metadata interface for Spring's {@link SqlRowSet}, analogous to JDBC's
* {@link java.sql.ResultSetMetaData}.
*
* <p>The main difference to the standard JDBC ResultSetMetaData is that a
* {@link java.sql.SQLException} is never thrown here. This allows
* SqlRowSetMetaData to be used without having to deal with checked exceptions.
* SqlRowSetMetaData will throw Spring's {@link InvalidResultSetAccessException}
* instead (when appropriate).
*
* @author Thomas Risberg
* @author Juergen Hoeller
* @since 1.2
* @see SqlRowSet#getMetaData()
* @see java.sql.ResultSetMetaData
* @see org.springframework.jdbc.InvalidResultSetAccessException
*/
public interface SqlRowSetMetaData {
Retrieve the catalog name of the table that served as the source for the
specified column.
Params: - columnIndex – the index of the column
See Also: Returns: the catalog name
/**
* Retrieve the catalog name of the table that served as the source for the
* specified column.
* @param columnIndex the index of the column
* @return the catalog name
* @see java.sql.ResultSetMetaData#getCatalogName(int)
*/
String getCatalogName(int columnIndex) throws InvalidResultSetAccessException;
Retrieve the fully qualified class that the specified column will be mapped to.
Params: - columnIndex – the index of the column
See Also: Returns: the class name as a String
/**
* Retrieve the fully qualified class that the specified column will be mapped to.
* @param columnIndex the index of the column
* @return the class name as a String
* @see java.sql.ResultSetMetaData#getColumnClassName(int)
*/
String getColumnClassName(int columnIndex) throws InvalidResultSetAccessException;
Retrieve the number of columns in the RowSet.
See Also: Returns: the number of columns
/**
* Retrieve the number of columns in the RowSet.
* @return the number of columns
* @see java.sql.ResultSetMetaData#getColumnCount()
*/
int getColumnCount() throws InvalidResultSetAccessException;
Return the column names of the table that the result set represents.
Returns: the column names
/**
* Return the column names of the table that the result set represents.
* @return the column names
*/
String[] getColumnNames() throws InvalidResultSetAccessException;
Retrieve the maximum width of the designated column.
Params: - columnIndex – the index of the column
See Also: Returns: the width of the column
/**
* Retrieve the maximum width of the designated column.
* @param columnIndex the index of the column
* @return the width of the column
* @see java.sql.ResultSetMetaData#getColumnDisplaySize(int)
*/
int getColumnDisplaySize(int columnIndex) throws InvalidResultSetAccessException;
Retrieve the suggested column title for the column specified.
Params: - columnIndex – the index of the column
See Also: Returns: the column title
/**
* Retrieve the suggested column title for the column specified.
* @param columnIndex the index of the column
* @return the column title
* @see java.sql.ResultSetMetaData#getColumnLabel(int)
*/
String getColumnLabel(int columnIndex) throws InvalidResultSetAccessException;
Retrieve the column name for the indicated column.
Params: - columnIndex – the index of the column
See Also: Returns: the column name
/**
* Retrieve the column name for the indicated column.
* @param columnIndex the index of the column
* @return the column name
* @see java.sql.ResultSetMetaData#getColumnName(int)
*/
String getColumnName(int columnIndex) throws InvalidResultSetAccessException;
Retrieve the SQL type code for the indicated column.
Params: - columnIndex – the index of the column
See Also: Returns: the SQL type code
/**
* Retrieve the SQL type code for the indicated column.
* @param columnIndex the index of the column
* @return the SQL type code
* @see java.sql.ResultSetMetaData#getColumnType(int)
* @see java.sql.Types
*/
int getColumnType(int columnIndex) throws InvalidResultSetAccessException;
Retrieve the DBMS-specific type name for the indicated column.
Params: - columnIndex – the index of the column
See Also: Returns: the type name
/**
* Retrieve the DBMS-specific type name for the indicated column.
* @param columnIndex the index of the column
* @return the type name
* @see java.sql.ResultSetMetaData#getColumnTypeName(int)
*/
String getColumnTypeName(int columnIndex) throws InvalidResultSetAccessException;
Retrieve the precision for the indicated column.
Params: - columnIndex – the index of the column
See Also: Returns: the precision
/**
* Retrieve the precision for the indicated column.
* @param columnIndex the index of the column
* @return the precision
* @see java.sql.ResultSetMetaData#getPrecision(int)
*/
int getPrecision(int columnIndex) throws InvalidResultSetAccessException;
Retrieve the scale of the indicated column.
Params: - columnIndex – the index of the column
See Also: Returns: the scale
/**
* Retrieve the scale of the indicated column.
* @param columnIndex the index of the column
* @return the scale
* @see java.sql.ResultSetMetaData#getScale(int)
*/
int getScale(int columnIndex) throws InvalidResultSetAccessException;
Retrieve the schema name of the table that served as the source for the
specified column.
Params: - columnIndex – the index of the column
See Also: Returns: the schema name
/**
* Retrieve the schema name of the table that served as the source for the
* specified column.
* @param columnIndex the index of the column
* @return the schema name
* @see java.sql.ResultSetMetaData#getSchemaName(int)
*/
String getSchemaName(int columnIndex) throws InvalidResultSetAccessException;
Retrieve the name of the table that served as the source for the
specified column.
Params: - columnIndex – the index of the column
See Also: Returns: the name of the table
/**
* Retrieve the name of the table that served as the source for the
* specified column.
* @param columnIndex the index of the column
* @return the name of the table
* @see java.sql.ResultSetMetaData#getTableName(int)
*/
String getTableName(int columnIndex) throws InvalidResultSetAccessException;
Indicate whether the case of the designated column is significant.
Params: - columnIndex – the index of the column
See Also: Returns: true if the case sensitive, false otherwise
/**
* Indicate whether the case of the designated column is significant.
* @param columnIndex the index of the column
* @return true if the case sensitive, false otherwise
* @see java.sql.ResultSetMetaData#isCaseSensitive(int)
*/
boolean isCaseSensitive(int columnIndex) throws InvalidResultSetAccessException;
Indicate whether the designated column contains a currency value.
Params: - columnIndex – the index of the column
See Also: Returns: true if the value is a currency value, false otherwise
/**
* Indicate whether the designated column contains a currency value.
* @param columnIndex the index of the column
* @return true if the value is a currency value, false otherwise
* @see java.sql.ResultSetMetaData#isCurrency(int)
*/
boolean isCurrency(int columnIndex) throws InvalidResultSetAccessException;
Indicate whether the designated column contains a signed number.
Params: - columnIndex – the index of the column
See Also: Returns: true if the column contains a signed number, false otherwise
/**
* Indicate whether the designated column contains a signed number.
* @param columnIndex the index of the column
* @return true if the column contains a signed number, false otherwise
* @see java.sql.ResultSetMetaData#isSigned(int)
*/
boolean isSigned(int columnIndex) throws InvalidResultSetAccessException;
}