org.springframework.jdbc.support.rowset.SqlRowSetMetaData.java Source code

Java tutorial

Introduction

Here is the source code for org.springframework.jdbc.support.rowset.SqlRowSetMetaData.java

Source

/*
 * 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
 *
 *      https://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 {@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.
     * @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.
     * @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.
     * @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.
     * @return the column names
     */
    String[] getColumnNames() throws InvalidResultSetAccessException;

    /**
     * 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.
     * @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.
     * @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.
     * @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.
     * @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.
     * @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.
     * @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.
     * @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.
     * @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.
     * @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.
     * @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.
     * @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;

}