org.springframework.jdbc.support.rowset

## Interface SqlRowSetMetaData

- All Known Implementing Classes:
    ResultSetWrappingSqlRowSetMetaData

      public interface SqlRowSetMetaData

  Meta data interface for Spring's SqlRowSet, analogous to `javax.sql.ResultSetMetaData`

  The main difference to the standard JDBC RowSetMetaData is that an SQLException is never thrown here. This allows a SqlRowSetMetaData to be used without having to deal with checked exceptions. A SqlRowSetMetaData will throw Spring's `org.springframework.jdbc.InvalidResultSetAccessException` instead (when appropriate).

  Since:
    1.2
  Author:
    Thomas Risberg
  See Also:
    `SqlRowSet.getMetaData()`, `ResultSetMetaData`, `InvalidResultSetAccessException`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `getCatalogName(int columnIndex)` Retrieves the catalog name of the table that served as the source for the specified column.
    `String` | `getColumnClassName(int columnIndex)` Retrieves the fully qualified class that the specified column will be mapped to.
    `int` | `getColumnCount()` Retrives the number of columns in the RowSet.
    `int` | `getColumnDisplaySize(int columnIndex)` Retrieves the maximum width of the designated column.
    `String` | `getColumnLabel(int columnIndex)` Retrieve the suggested column title for the column specified.
    `String` | `getColumnName(int columnIndex)` Retrieve the column name for the indicated column.
    `String[]` | `getColumnNames()` Return the column names of the table that the result set represents.
    `int` | `getColumnType(int columnIndex)` Retrieve the SQL type code for the indicated column.
    `String` | `getColumnTypeName(int columnIndex)` Retrieves the DBMS-specific type name for the indicated column.
    `int` | `getPrecision(int columnIndex)` Retrieves the precision for the indicated column.
    `int` | `getScale(int columnIndex)` Retrieves the scale of the indicated column.
    `String` | `getSchemaName(int columnIndex)` Retrieves the schema name of the table that served as the source for the specified column.
    `String` | `getTableName(int columnIndex)` Retrieves the name of the table that served as the source for the specified column.
    `boolean` | `isCaseSensitive(int columnIndex)` Indicates whether the case of the designated column is significant.
    `boolean` | `isCurrency(int columnIndex)` Indicates whether the designated column contains a currency value.
    `boolean` | `isSigned(int columnIndex)` Indicates whether the designated column contains a signed number.

- - ### Method Detail

    - #### getCatalogName

          String getCatalogName(int columnIndex)
                         throws InvalidResultSetAccessException

      Retrieves the catalog name of the table that served as the source for the specified column.
      Parameters:
        `columnIndex` - the index of the column
      Returns:
        the catalog name
      Throws:
        `InvalidResultSetAccessException`
      See Also:
        `ResultSetMetaData.getCatalogName(int)`

    - #### getColumnClassName

          String getColumnClassName(int columnIndex)
                             throws InvalidResultSetAccessException

      Retrieves the fully qualified class that the specified column will be mapped to.
      Parameters:
        `columnIndex` - the index of the column
      Returns:
        the class name as a String
      Throws:
        `InvalidResultSetAccessException`
      See Also:
        `ResultSetMetaData.getColumnClassName(int)`

    - #### getColumnCount

          int getColumnCount()
                      throws InvalidResultSetAccessException

      Retrives the number of columns in the RowSet.
      Returns:
        the number of columns
      Throws:
        `InvalidResultSetAccessException`
      See Also:
        `ResultSetMetaData.getColumnCount()`

    - #### getColumnNames

          String[] getColumnNames()
                           throws InvalidResultSetAccessException

      Return the column names of the table that the result set represents.
      Returns:
        the column names
      Throws:
        `InvalidResultSetAccessException`

    - #### getColumnDisplaySize

          int getColumnDisplaySize(int columnIndex)
                            throws InvalidResultSetAccessException

      Retrieves the maximum width of the designated column.
      Parameters:
        `columnIndex` - the index of the column
      Returns:
        the width of the column
      Throws:
        `InvalidResultSetAccessException`
      See Also:
        `ResultSetMetaData.getColumnDisplaySize(int)`

    - #### getColumnLabel

          String getColumnLabel(int columnIndex)
                         throws InvalidResultSetAccessException

      Retrieve the suggested column title for the column specified.
      Parameters:
        `columnIndex` - the index of the column
      Returns:
        the column title
      Throws:
        `InvalidResultSetAccessException`
      See Also:
        `ResultSetMetaData.getColumnLabel(int)`

    - #### getColumnName

          String getColumnName(int columnIndex)
                        throws InvalidResultSetAccessException

      Retrieve the column name for the indicated column.
      Parameters:
        `columnIndex` - the index of the column
      Returns:
        the column name
      Throws:
        `InvalidResultSetAccessException`
      See Also:
        `ResultSetMetaData.getColumnName(int)`

    - #### getColumnType

          int getColumnType(int columnIndex)
                     throws InvalidResultSetAccessException

      Retrieve the SQL type code for the indicated column.
      Parameters:
        `columnIndex` - the index of the column
      Returns:
        the SQL type code
      Throws:
        `InvalidResultSetAccessException`
      See Also:
        `ResultSetMetaData.getColumnType(int)`, `Types`

    - #### getColumnTypeName

          String getColumnTypeName(int columnIndex)
                            throws InvalidResultSetAccessException

      Retrieves the DBMS-specific type name for the indicated column.
      Parameters:
        `columnIndex` - the index of the column
      Returns:
        the type name
      Throws:
        `InvalidResultSetAccessException`
      See Also:
        `ResultSetMetaData.getColumnTypeName(int)`

    - #### getPrecision

          int getPrecision(int columnIndex)
                    throws InvalidResultSetAccessException

      Retrieves the precision for the indicated column.
      Parameters:
        `columnIndex` - the index of the column
      Returns:
        the precision
      Throws:
        `InvalidResultSetAccessException`
      See Also:
        `ResultSetMetaData.getPrecision(int)`

    - #### getScale

          int getScale(int columnIndex)
                throws InvalidResultSetAccessException

      Retrieves the scale of the indicated column.
      Parameters:
        `columnIndex` - the index of the column
      Returns:
        the scale
      Throws:
        `InvalidResultSetAccessException`
      See Also:
        `ResultSetMetaData.getScale(int)`

    - #### getSchemaName

          String getSchemaName(int columnIndex)
                        throws InvalidResultSetAccessException

      Retrieves the schema name of the table that served as the source for the specified column.
      Parameters:
        `columnIndex` - the index of the column
      Returns:
        the schema name
      Throws:
        `InvalidResultSetAccessException`
      See Also:
        `ResultSetMetaData.getSchemaName(int)`

    - #### getTableName

          String getTableName(int columnIndex)
                       throws InvalidResultSetAccessException

      Retrieves the name of the table that served as the source for the specified column.
      Parameters:
        `columnIndex` - the index of the column
      Returns:
        the name of the table
      Throws:
        `InvalidResultSetAccessException`
      See Also:
        `ResultSetMetaData.getTableName(int)`

    - #### isCaseSensitive

          boolean isCaseSensitive(int columnIndex)
                           throws InvalidResultSetAccessException

      Indicates whether the case of the designated column is significant.
      Parameters:
        `columnIndex` - the index of the column
      Returns:
        true if the case sensitive, false otherwise
      Throws:
        `InvalidResultSetAccessException`
      See Also:
        `ResultSetMetaData.isCaseSensitive(int)`

    - #### isCurrency

          boolean isCurrency(int columnIndex)
                      throws InvalidResultSetAccessException

      Indicates whether the designated column contains a currency value.
      Parameters:
        `columnIndex` - the index of the column
      Returns:
        true if the value is a currency value, false otherwise
      Throws:
        `InvalidResultSetAccessException`
      See Also:
        `ResultSetMetaData.isCurrency(int)`

    - #### isSigned

          boolean isSigned(int columnIndex)
                    throws InvalidResultSetAccessException

      Indicates whether the designated column contains a signed number.
      Parameters:
        `columnIndex` - the index of the column
      Returns:
        true if the column contains a signed number, false otherwise
      Throws:
        `InvalidResultSetAccessException`
      See Also:
        `ResultSetMetaData.isSigned(int)`