Package virtuoso.javax

## Class OPLRowSetMetaData

- java.lang.Object
- - virtuoso.javax.OPLRowSetMetaData

All Implemented Interfaces:
  `java.io.Serializable`, `java.sql.ResultSetMetaData`, `java.sql.Wrapper`, `javax.sql.RowSetMetaData`

    public class OPLRowSetMetaData
    extends java.lang.Object
    implements javax.sql.RowSetMetaData, java.io.Serializable

The RowSetMetaData interface extends ResultSetMetaData with methods that allow a metadata object to be initialized.

See Also:
  Serialized Form

### Field Summary

### Fields inherited from interface java.sql.ResultSetMetaData

`columnNoNulls, columnNullable, columnNullableUnknown`

### Constructor Summary

Constructors
`OPLRowSetMetaData​(java.sql.ResultSetMetaData rsmd)`

### Method Summary

All Methods Instance Methods Concrete Methods
`java.lang.String` `getCatalogName​(int column)` Gets the designated column table's catalog name.
`java.lang.String` `getColumnClassName​(int column)` 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.
`int` `getColumnCount​()` Returns the number of columns in this RowSet
`int` `getColumnDisplaySize​(int column)` Indicates the designated column normal maximum width in characters.
`java.lang.String` `getColumnLabel​(int column)` Gets the designated column suggested title for use in printouts and displays.
`java.lang.String` `getColumnName​(int column)` Get the designated column name.
`int` `getColumnType​(int column)` Retrieves the designated column SQL type.
`java.lang.String` `getColumnTypeName​(int column)` Retrieves the designated column database-specific type name.
`int` `getPrecision​(int column)` Get the designated column number of decimal digits.
`int` `getScale​(int column)` Gets the designated column number of digits to right of the decimal point.
`java.lang.String` `getSchemaName​(int column)` Get the designated column table's schema.
`java.lang.String` `getTableName​(int column)` Gets the designated column table name.
`boolean` `isAutoIncrement​(int column)` Indicates whether the column is automatically numbered, thus read-only.
`boolean` `isCaseSensitive​(int column)` Indicates whether a column 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​(java.lang.Class<?> iface)` Returns true if this either implements the interface argument or is directly or indirectly a wrapper for an object that does.
`boolean` `isWritable​(int column)` Indicates whether it is possible for a write on the designated column to succeed.
`void` `setAutoIncrement​(int column, boolean property)` Specify whether the is column automatically numbered, thus read-only.
`void` `setCaseSensitive​(int column, boolean property)` Specify whether the column is case sensitive.
`void` `setCatalogName​(int column, java.lang.String catalogName)` Specify the column table's catalog name, if any.
`void` `setColumnCount​(int columnCount)` Set the number of columns in the RowSet.
`void` `setColumnDisplaySize​(int column, int size)` Specify the column normal max width in chars.
`void` `setColumnLabel​(int column, java.lang.String label)` Specify the suggested column title for use in printouts and displays, if any.
`void` `setColumnName​(int column, java.lang.String columnName)` Specify the column name.
`void` `setColumnType​(int column, int SQLType)` Specify the column SQL type.
`void` `setColumnTypeName​(int column, java.lang.String typeName)` Specify the column data source specific type name, if any.
`void` `setCurrency​(int column, boolean property)` Specify whether the column is a cash value.
`void` `setNullable​(int column, int property)` Specify whether the column value can be set to NULL.
`void` `setPrecision​(int column, int precision)` Specify the column number of decimal digits.
`void` `setScale​(int column, int scale)` Specify the column number of digits to right of the decimal point.
`void` `setSchemaName​(int column, java.lang.String schemaName)` Specify the column table's schema, if any.
`void` `setSearchable​(int column, boolean property)` Specify whether the column can be used in a where clause.
`void` `setSigned​(int column, boolean property)` Speicfy whether the column is a signed number.
`void` `setTableName​(int column, java.lang.String tableName)` Specify the column table name, if any.
`<T> T` `unwrap​(java.lang.Class<T> iface)` Returns an object that implements the given interface to allow access to non-standard methods, or standard methods not exposed by the proxy.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### OPLRowSetMetaData

    public OPLRowSetMetaData​(java.sql.ResultSetMetaData rsmd)
                      throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

### Method Detail

#### setAutoIncrement

    public void setAutoIncrement​(int column,
                                 boolean property)
                          throws java.sql.SQLException

Specify whether the is column automatically numbered, thus read-only.

Specified by:
  `setAutoIncrement` in interface `javax.sql.RowSetMetaData`
Parameters:
  `column` - the first column is 1, the second is 2, ...
  `property` - is either true or false (default is false).
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### setCaseSensitive

    public void setCaseSensitive​(int column,
                                 boolean property)
                          throws java.sql.SQLException

Specify whether the column is case sensitive.

Specified by:
  `setCaseSensitive` in interface `javax.sql.RowSetMetaData`
Parameters:
  `column` - the first column is 1, the second is 2, ...
  `property` - is either true or false (default is false).
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### setCatalogName

    public void setCatalogName​(int column,
                               java.lang.String catalogName)
                        throws java.sql.SQLException

Specify the column table's catalog name, if any.

Specified by:
  `setCatalogName` in interface `javax.sql.RowSetMetaData`
Parameters:
  `column` - the first column is 1, the second is 2, ...
  `catalogName` - column catalog name.
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### setColumnCount

    public void setColumnCount​(int columnCount)
                        throws java.sql.SQLException

Set the number of columns in the RowSet.

Specified by:
  `setColumnCount` in interface `javax.sql.RowSetMetaData`
Parameters:
  `columnCount` - number of columns.
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### setColumnDisplaySize

    public void setColumnDisplaySize​(int column,
                                     int size)
                              throws java.sql.SQLException

Specify the column normal max width in chars.

Specified by:
  `setColumnDisplaySize` in interface `javax.sql.RowSetMetaData`
Parameters:
  `column` - the first column is 1, the second is 2, ...
  `size` - size of the column
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### setColumnLabel

    public void setColumnLabel​(int column,
                               java.lang.String label)
                        throws java.sql.SQLException

Specify the suggested column title for use in printouts and displays, if any.

Specified by:
  `setColumnLabel` in interface `javax.sql.RowSetMetaData`
Parameters:
  `column` - the first column is 1, the second is 2, ...
  `label` - the column title
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### setColumnName

    public void setColumnName​(int column,
                              java.lang.String columnName)
                       throws java.sql.SQLException

Specify the column name.

Specified by:
  `setColumnName` in interface `javax.sql.RowSetMetaData`
Parameters:
  `column` - the first column is 1, the second is 2, ...
  `columnName` - the column name
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### setColumnType

    public void setColumnType​(int column,
                              int SQLType)
                       throws java.sql.SQLException

Specify the column SQL type.

Specified by:
  `setColumnType` in interface `javax.sql.RowSetMetaData`
Parameters:
  `column` - the first column is 1, the second is 2, ...
  `SQLType` - column SQL type.
Throws:
  `java.sql.SQLException` - if a database-access error occurs.
See Also:
  `Types`

#### setColumnTypeName

    public void setColumnTypeName​(int column,
                                  java.lang.String typeName)
                           throws java.sql.SQLException

Specify the column data source specific type name, if any.

Specified by:
  `setColumnTypeName` in interface `javax.sql.RowSetMetaData`
Parameters:
  `column` - the first column is 1, the second is 2, ...
  `typeName` - data source specific type name.
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### setCurrency

    public void setCurrency​(int column,
                            boolean property)
                     throws java.sql.SQLException

Specify whether the column is a cash value.

Specified by:
  `setCurrency` in interface `javax.sql.RowSetMetaData`
Parameters:
  `column` - the first column is 1, the second is 2, ...
  `property` - is either true or false (default is false).
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### setNullable

    public void setNullable​(int column,
                            int property)
                     throws java.sql.SQLException

Specify whether the column value can be set to NULL.

Specified by:
  `setNullable` in interface `javax.sql.RowSetMetaData`
Parameters:
  `column` - the first column is 1, the second is 2, ...
  `property` - is either one of columnNoNulls, columnNullable or columnNullableUnknown (default is columnNullableUnknown).
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### setPrecision

    public void setPrecision​(int column,
                             int precision)
                      throws java.sql.SQLException

Specify the column number of decimal digits.

Specified by:
  `setPrecision` in interface `javax.sql.RowSetMetaData`
Parameters:
  `column` - the first column is 1, the second is 2, ...
  `precision` - number of decimal digits.
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### setScale

    public void setScale​(int column,
                         int scale)
                  throws java.sql.SQLException

Specify the column number of digits to right of the decimal point.

Specified by:
  `setScale` in interface `javax.sql.RowSetMetaData`
Parameters:
  `column` - the first column is 1, the second is 2, ...
  `scale` - number of digits to right of decimal point.
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### setSchemaName

    public void setSchemaName​(int column,
                              java.lang.String schemaName)
                       throws java.sql.SQLException

Specify the column table's schema, if any.

Specified by:
  `setSchemaName` in interface `javax.sql.RowSetMetaData`
Parameters:
  `column` - the first column is 1, the second is 2, ...
  `schemaName` - the schema name
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### setSearchable

    public void setSearchable​(int column,
                              boolean property)
                       throws java.sql.SQLException

Specify whether the column can be used in a where clause.

Specified by:
  `setSearchable` in interface `javax.sql.RowSetMetaData`
Parameters:
  `column` - the first column is 1, the second is 2, ...
  `property` - is either true or false (default is false).
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### setSigned

    public void setSigned​(int column,
                          boolean property)
                   throws java.sql.SQLException

Speicfy whether the column is a signed number.

Specified by:
  `setSigned` in interface `javax.sql.RowSetMetaData`
Parameters:
  `column` - the first column is 1, the second is 2, ...
  `property` - is either true or false (default is false).
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### setTableName

    public void setTableName​(int column,
                             java.lang.String tableName)
                      throws java.sql.SQLException

Specify the column table name, if any.

Specified by:
  `setTableName` in interface `javax.sql.RowSetMetaData`
Parameters:
  `column` - the first column is 1, the second is 2, ...
  `tableName` - column table name.
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getColumnCount

    public int getColumnCount​()
                       throws java.sql.SQLException

Returns the number of columns in this RowSet

Specified by:
  `getColumnCount` in interface `java.sql.ResultSetMetaData`
Returns:
  the number of columns
Throws:
  `java.sql.SQLException` - if a database access error occurs

#### isAutoIncrement

    public boolean isAutoIncrement​(int column)
                            throws java.sql.SQLException

Indicates whether the column is automatically numbered, thus read-only.

Specified by:
  `isAutoIncrement` in interface `java.sql.ResultSetMetaData`
Parameters:
  `column` - the first column is 1, the second is 2, ...
Returns:
  true if so
Throws:
  `java.sql.SQLException` - if a database access error occurs

#### isCaseSensitive

    public boolean isCaseSensitive​(int column)
                            throws java.sql.SQLException

Indicates whether a column case matters.

Specified by:
  `isCaseSensitive` in interface `java.sql.ResultSetMetaData`
Parameters:
  `column` - the first column is 1, the second is 2, ...
Returns:
  `true` if so; `false` otherwise
Throws:
  `java.sql.SQLException` - if a database access error occurs

#### isSearchable

    public boolean isSearchable​(int column)
                         throws java.sql.SQLException

Indicates whether the designated column can be used in a where clause.

Specified by:
  `isSearchable` in interface `java.sql.ResultSetMetaData`
Parameters:
  `column` - the first column is 1, the second is 2, ...
Returns:
  `true` if so; `false` otherwise
Throws:
  `java.sql.SQLException` - if a database access error occurs

#### isCurrency

    public boolean isCurrency​(int column)
                       throws java.sql.SQLException

Indicates whether the designated column is a cash value.

Specified by:
  `isCurrency` in interface `java.sql.ResultSetMetaData`
Parameters:
  `column` - the first column is 1, the second is 2, ...
Returns:
  `true` if so; `false` otherwise
Throws:
  `java.sql.SQLException` - if a database access error occurs

#### isNullable

    public int isNullable​(int column)
                   throws java.sql.SQLException

Indicates the nullability of values in the designated column.

Specified by:
  `isNullable` in interface `java.sql.ResultSetMetaData`
Parameters:
  `column` - the first column is 1, the second is 2, ...
Returns:
  the nullability status of the given column; one of `columnNoNulls`, `columnNullable` or `columnNullableUnknown`
Throws:
  `java.sql.SQLException` - if a database access error occurs

#### isSigned

    public boolean isSigned​(int column)
                     throws java.sql.SQLException

Indicates whether values in the designated column are signed numbers.

Specified by:
  `isSigned` in interface `java.sql.ResultSetMetaData`
Parameters:
  `column` - the first column is 1, the second is 2, ...
Returns:
  `true` if so; `false` otherwise
Throws:
  `java.sql.SQLException` - if a database access error occurs

#### getColumnDisplaySize

    public int getColumnDisplaySize​(int column)
                             throws java.sql.SQLException

Indicates the designated column normal maximum width in characters.

Specified by:
  `getColumnDisplaySize` in interface `java.sql.ResultSetMetaData`
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:
  `java.sql.SQLException` - if a database access error occurs

#### getColumnLabel

    public java.lang.String getColumnLabel​(int column)
                                    throws java.sql.SQLException

Gets the designated column suggested title for use in printouts and displays.

Specified by:
  `getColumnLabel` in interface `java.sql.ResultSetMetaData`
Parameters:
  `column` - the first column is 1, the second is 2, ...
Returns:
  the suggested column title
Throws:
  `java.sql.SQLException` - if a database access error occurs

#### getColumnName

    public java.lang.String getColumnName​(int column)
                                   throws java.sql.SQLException

Get the designated column name.

Specified by:
  `getColumnName` in interface `java.sql.ResultSetMetaData`
Parameters:
  `column` - the first column is 1, the second is 2, ...
Returns:
  column name
Throws:
  `java.sql.SQLException` - if a database access error occurs

#### getSchemaName

    public java.lang.String getSchemaName​(int column)
                                   throws java.sql.SQLException

Get the designated column table's schema.

Specified by:
  `getSchemaName` in interface `java.sql.ResultSetMetaData`
Parameters:
  `column` - the first column is 1, the second is 2, ...
Returns:
  schema name or "" if not applicable
Throws:
  `java.sql.SQLException` - if a database access error occurs

#### getPrecision

    public int getPrecision​(int column)
                     throws java.sql.SQLException

Get the designated column number of decimal digits.

Specified by:
  `getPrecision` in interface `java.sql.ResultSetMetaData`
Parameters:
  `column` - the first column is 1, the second is 2, ...
Returns:
  precision
Throws:
  `java.sql.SQLException` - if a database access error occurs

#### getScale

    public int getScale​(int column)
                 throws java.sql.SQLException

Gets the designated column number of digits to right of the decimal point.

Specified by:
  `getScale` in interface `java.sql.ResultSetMetaData`
Parameters:
  `column` - the first column is 1, the second is 2, ...
Returns:
  scale
Throws:
  `java.sql.SQLException` - if a database access error occurs

#### getTableName

    public java.lang.String getTableName​(int column)
                                  throws java.sql.SQLException

Gets the designated column table name.

Specified by:
  `getTableName` in interface `java.sql.ResultSetMetaData`
Parameters:
  `column` - the first column is 1, the second is 2, ...
Returns:
  table name or "" if not applicable
Throws:
  `java.sql.SQLException` - if a database access error occurs

#### getCatalogName

    public java.lang.String getCatalogName​(int column)
                                    throws java.sql.SQLException

Gets the designated column table's catalog name.

Specified by:
  `getCatalogName` in interface `java.sql.ResultSetMetaData`
Parameters:
  `column` - the first column is 1, the second is 2, ...
Returns:
  column name or "" if not applicable
Throws:
  `java.sql.SQLException` - if a database access error occurs

#### getColumnType

    public int getColumnType​(int column)
                      throws java.sql.SQLException

Retrieves the designated column SQL type.

Specified by:
  `getColumnType` in interface `java.sql.ResultSetMetaData`
Parameters:
  `column` - the first column is 1, the second is 2, ...
Returns:
  SQL type from java.sql.Types
Throws:
  `java.sql.SQLException` - if a database access error occurs
See Also:
  `Types`

#### getColumnTypeName

    public java.lang.String getColumnTypeName​(int column)
                                       throws java.sql.SQLException

Retrieves the designated column database-specific type name.

Specified by:
  `getColumnTypeName` in interface `java.sql.ResultSetMetaData`
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:
  `java.sql.SQLException` - if a database access error occurs

#### isReadOnly

    public boolean isReadOnly​(int column)
                       throws java.sql.SQLException

Indicates whether the designated column is definitely not writable.

Specified by:
  `isReadOnly` in interface `java.sql.ResultSetMetaData`
Parameters:
  `column` - the first column is 1, the second is 2, ...
Returns:
  `true` if so; `false` otherwise
Throws:
  `java.sql.SQLException` - if a database access error occurs

#### isWritable

    public boolean isWritable​(int column)
                       throws java.sql.SQLException

Indicates whether it is possible for a write on the designated column to succeed.

Specified by:
  `isWritable` in interface `java.sql.ResultSetMetaData`
Parameters:
  `column` - the first column is 1, the second is 2, ...
Returns:
  `true` if so; `false` otherwise
Throws:
  `java.sql.SQLException` - if a database access error occurs

#### isDefinitelyWritable

    public boolean isDefinitelyWritable​(int column)
                                 throws java.sql.SQLException

Indicates whether a write on the designated column will definitely succeed.

Specified by:
  `isDefinitelyWritable` in interface `java.sql.ResultSetMetaData`
Parameters:
  `column` - the first column is 1, the second is 2, ...
Returns:
  `true` if so; `false` otherwise
Throws:
  `java.sql.SQLException` - if a database access error occurs

#### getColumnClassName

    public java.lang.String getColumnClassName​(int column)
                                        throws java.sql.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 interface `java.sql.ResultSetMetaData`
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:
  `java.sql.SQLException` - if a database access error occurs
Since:
  1.2

#### unwrap

    public <T> T unwrap​(java.lang.Class<T> iface)
                 throws java.sql.SQLException

Returns an object that implements the given interface to allow access to non-standard methods, or standard methods not exposed by the proxy. If the receiver implements the interface then the result is the receiver or a proxy for the receiver. If the receiver is a wrapper and the wrapped object implements the interface then the result is the wrapped object or a proxy for the wrapped object. Otherwise return the the result of calling `unwrap` recursively on the wrapped object or a proxy for that result. If the receiver is not a wrapper and does not implement the interface, then an `SQLException` is thrown.

Specified by:
  `unwrap` in interface `java.sql.Wrapper`
Parameters:
  `iface` - A Class defining an interface that the result must implement.
Returns:
  an object that implements the interface. May be a proxy for the actual implementing object.
Throws:
  `java.sql.SQLException` - If no object found that implements the interface
Since:
  1.6

#### isWrapperFor

    public boolean isWrapperFor​(java.lang.Class<?> iface)
                         throws java.sql.SQLException

Returns true if this either implements the interface argument or is directly or indirectly a wrapper for an object that does. Returns false otherwise. If this implements the interface then return true, else if this is a wrapper then return the result of recursively calling `isWrapperFor` on the wrapped object. If this does not implement the interface and is not a wrapper, return false. This method should be implemented as a low-cost operation compared to `unwrap` so that callers can use this method to avoid expensive `unwrap` calls that may fail. If this method returns true then calling `unwrap` with the same argument should succeed.

Specified by:
  `isWrapperFor` in interface `java.sql.Wrapper`
Parameters:
  `iface` - a Class defining an interface.
Returns:
  true if this implements the interface or directly or indirectly wraps an object that does.
Throws:
  `java.sql.SQLException` - if an error occurs while determining whether this is a wrapper for an object with the given interface.
Since:
  1.6