- java.lang.Object
-
- javax.sql.rowset.RowSetMetaDataImpl
-
- All Implemented Interfaces:
Serializable,ResultSetMetaData,Wrapper,RowSetMetaData
public class RowSetMetaDataImpl extends Object implements RowSetMetaData, Serializable
Provides implementations for the methods that set and get metadata information about aRowSetobject's columns. ARowSetMetaDataImplobject keeps track of the number of columns in the rowset and maintains an internal array of column attributes for each column.A
RowSetobject creates aRowSetMetaDataImplobject internally in order to set and retrieve information about its columns.NOTE: All metadata in a
RowSetMetaDataImplobject should be considered as unavailable until theRowSetobject that it describes is populated. Therefore, anyRowSetMetaDataImplmethod that retrieves information is defined as having unspecified behavior when it is called before theRowSetobject contains data.- Since:
- 1.5
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields declared in interface java.sql.ResultSetMetaData
columnNoNulls, columnNullable, columnNullableUnknown
-
-
Constructor Summary
Constructors Constructor Description RowSetMetaDataImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringgetCatalogName(int columnIndex)Retrieves the catalog name of the table from which the value in the designated column was derived.StringgetColumnClassName(int columnIndex)Retrieves the fully-qualified name of the class in the Java programming language to which a value in the designated column will be mapped.intgetColumnCount()Retrieves the number of columns in theRowSetobject for which thisRowSetMetaDataImplobject was created.intgetColumnDisplaySize(int columnIndex)Retrieves the normal maximum width in chars of the designated column.StringgetColumnLabel(int columnIndex)Retrieves the suggested column title for the designated column for use in printouts and displays.StringgetColumnName(int columnIndex)Retrieves the name of the designated column.intgetColumnType(int columnIndex)Retrieves the type code (one of thejava.sql.Typesconstants) for the SQL type of the value stored in the designated column.StringgetColumnTypeName(int columnIndex)Retrieves the DBMS-specific type name for values stored in the designated column.intgetPrecision(int columnIndex)Retrieves the total number of digits for values stored in the designated column.intgetScale(int columnIndex)Retrieves the number of digits to the right of the decimal point for values stored in the designated column.StringgetSchemaName(int columnIndex)Retrieves the schema name of the table from which the value in the designated column was derived.StringgetTableName(int columnIndex)Retrieves the name of the table from which the value in the designated column was derived.booleanisAutoIncrement(int columnIndex)Retrieves whether a value stored in the designated column is automatically numbered, and thus readonly.booleanisCaseSensitive(int columnIndex)Indicates whether the case of the designated column's name matters.booleanisCurrency(int columnIndex)Indicates whether a value stored in the designated column is a cash value.booleanisDefinitelyWritable(int columnIndex)Indicates whether a write operation on the designated column will definitely succeed.intisNullable(int columnIndex)Retrieves a constant indicating whether it is possible to store aNULLvalue in the designated column.booleanisReadOnly(int columnIndex)Indicates whether the designated column is definitely not writable, thus readonly.booleanisSearchable(int columnIndex)Indicates whether a value stored in the designated column can be used in aWHEREclause.booleanisSigned(int columnIndex)Indicates whether a value stored in the designated column is a signed number.booleanisWrapperFor(Class<?> interfaces)Returns true if this either implements the interface argument or is directly or indirectly a wrapper for an object that does.booleanisWritable(int columnIndex)Indicates whether it is possible for a write operation on the designated column to succeed.voidsetAutoIncrement(int columnIndex, boolean property)Sets whether the designated column is automatically numbered, thus read-only, to the givenbooleanvalue.voidsetCaseSensitive(int columnIndex, boolean property)Sets whether the name of the designated column is case sensitive to the givenboolean.voidsetCatalogName(int columnIndex, String catalogName)Sets the catalog name of the table from which the designated column was derived to catalogName.voidsetColumnCount(int columnCount)Sets to the given number the number of columns in theRowSetobject for which thisRowSetMetaDataImplobject was created.voidsetColumnDisplaySize(int columnIndex, int size)Sets the normal maximum number of chars in the designated column to the given number.voidsetColumnLabel(int columnIndex, String label)Sets the suggested column label for use in printouts and displays, if any, to label.voidsetColumnName(int columnIndex, String columnName)Sets the column name of the designated column to the given name.voidsetColumnType(int columnIndex, int SQLType)Sets the SQL type code for values stored in the designated column to the given type code from the classjava.sql.Types.voidsetColumnTypeName(int columnIndex, String typeName)Sets the type name used by the data source for values stored in the designated column to the given type name.voidsetCurrency(int columnIndex, boolean property)Sets whether a value stored in the designated column is a cash value to the givenboolean.voidsetNullable(int columnIndex, int property)Sets whether a value stored in the designated column can be set toNULLto the given constant from the interfaceResultSetMetaData.voidsetPrecision(int columnIndex, int precision)Sets the total number of decimal digits in a value stored in the designated column to the given number.voidsetScale(int columnIndex, int scale)Sets the number of digits to the right of the decimal point in a value stored in the designated column to the given number.voidsetSchemaName(int columnIndex, String schemaName)Sets the designated column's table's schema name, if any, to schemaName.voidsetSearchable(int columnIndex, boolean property)Sets whether a value stored in the designated column can be used in aWHEREclause to the givenbooleanvalue.voidsetSigned(int columnIndex, boolean property)Sets whether a value stored in the designated column is a signed number to the givenboolean.voidsetTableName(int columnIndex, String tableName)Sets the name of the table from which the designated column was derived to the given table name.<T> Tunwrap(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.
-
-
-
Method Detail
-
setColumnCount
public void setColumnCount(int columnCount) throws SQLExceptionSets to the given number the number of columns in theRowSetobject for which thisRowSetMetaDataImplobject was created.- Specified by:
setColumnCountin interfaceRowSetMetaData- Parameters:
columnCount- anintgiving the number of columns in theRowSetobject- Throws:
SQLException- if the given number is equal to or less than zero
-
setAutoIncrement
public void setAutoIncrement(int columnIndex, boolean property) throws SQLExceptionSets whether the designated column is automatically numbered, thus read-only, to the givenbooleanvalue.- Specified by:
setAutoIncrementin interfaceRowSetMetaData- Parameters:
columnIndex- the first column is 1, the second is 2, and so on; must be between1and the number of columns in the rowset, inclusiveproperty-trueif the given column is automatically incremented;falseotherwise- Throws:
SQLException- if a database access error occurs or the given index is out of bounds
-
setCaseSensitive
public void setCaseSensitive(int columnIndex, boolean property) throws SQLExceptionSets whether the name of the designated column is case sensitive to the givenboolean.- Specified by:
setCaseSensitivein interfaceRowSetMetaData- Parameters:
columnIndex- the first column is 1, the second is 2, and so on; must be between1and the number of columns in the rowset, inclusiveproperty-trueto indicate that the column name is case sensitive;falseotherwise- Throws:
SQLException- if a database access error occurs or the given column number is out of bounds
-
setSearchable
public void setSearchable(int columnIndex, boolean property) throws SQLExceptionSets whether a value stored in the designated column can be used in aWHEREclause to the givenbooleanvalue.- Specified by:
setSearchablein interfaceRowSetMetaData- Parameters:
columnIndex- the first column is 1, the second is 2, and so on; must be between1and the number of columns in the rowset, inclusiveproperty-trueto indicate that a column value can be used in aWHEREclause;falseotherwise- Throws:
SQLException- if a database access error occurs or the given column number is out of bounds
-
setCurrency
public void setCurrency(int columnIndex, boolean property) throws SQLExceptionSets whether a value stored in the designated column is a cash value to the givenboolean.- Specified by:
setCurrencyin interfaceRowSetMetaData- Parameters:
columnIndex- the first column is 1, the second is 2, and so on; must be between1and the number of columns, inclusive between1and the number of columns, inclusiveproperty- true if the value is a cash value; false otherwise.- Throws:
SQLException- if a database access error occurs or the given column number is out of bounds
-
setNullable
public void setNullable(int columnIndex, int property) throws SQLExceptionSets whether a value stored in the designated column can be set toNULLto the given constant from the interfaceResultSetMetaData.- Specified by:
setNullablein interfaceRowSetMetaData- Parameters:
columnIndex- the first column is 1, the second is 2, and so on; must be between1and the number of columns, inclusiveproperty- one of the followingResultSetMetaDataconstants:columnNoNulls,columnNullable, orcolumnNullableUnknown- Throws:
SQLException- if a database access error occurs, the given column number is out of bounds, or the value supplied for the property parameter is not one of the following constants:ResultSetMetaData.columnNoNulls,ResultSetMetaData.columnNullable, orResultSetMetaData.columnNullableUnknown
-
setSigned
public void setSigned(int columnIndex, boolean property) throws SQLExceptionSets whether a value stored in the designated column is a signed number to the givenboolean.- Specified by:
setSignedin interfaceRowSetMetaData- Parameters:
columnIndex- the first column is 1, the second is 2, and so on; must be between1and the number of columns, inclusiveproperty-trueto indicate that a column value is a signed number;falseto indicate that it is not- Throws:
SQLException- if a database access error occurs or the given column number is out of bounds
-
setColumnDisplaySize
public void setColumnDisplaySize(int columnIndex, int size) throws SQLExceptionSets the normal maximum number of chars in the designated column to the given number.- Specified by:
setColumnDisplaySizein interfaceRowSetMetaData- Parameters:
columnIndex- the first column is 1, the second is 2, and so on; must be between1and the number of columns, inclusivesize- the maximum size of the column in chars; must be0or more- Throws:
SQLException- if a database access error occurs, the given column number is out of bounds, or size is less than0
-
setColumnLabel
public void setColumnLabel(int columnIndex, String label) throws SQLExceptionSets the suggested column label for use in printouts and displays, if any, to label. If label isnull, the column label is set to an empty string ("").- Specified by:
setColumnLabelin interfaceRowSetMetaData- Parameters:
columnIndex- the first column is 1, the second is 2, and so on; must be between1and the number of columns, inclusivelabel- the column label to be used in printouts and displays; if the column label isnull, an emptyStringis set- Throws:
SQLException- if a database access error occurs or the given column index is out of bounds
-
setColumnName
public void setColumnName(int columnIndex, String columnName) throws SQLExceptionSets the column name of the designated column to the given name.- Specified by:
setColumnNamein interfaceRowSetMetaData- Parameters:
columnIndex- the first column is 1, the second is 2, and so on; must be between1and the number of columns, inclusivecolumnName- aStringobject indicating the column name; if the given name isnull, an emptyStringis set- Throws:
SQLException- if a database access error occurs or the given column index is out of bounds
-
setSchemaName
public void setSchemaName(int columnIndex, String schemaName) throws SQLExceptionSets the designated column's table's schema name, if any, to schemaName. If schemaName isnull, the schema name is set to an empty string ("").- Specified by:
setSchemaNamein interfaceRowSetMetaData- Parameters:
columnIndex- the first column is 1, the second is 2, and so on; must be between1and the number of columns, inclusiveschemaName- the schema name for the table from which a value in the designated column was derived; may be an emptyStringornull- Throws:
SQLException- if a database access error occurs or the given column number is out of bounds
-
setPrecision
public void setPrecision(int columnIndex, int precision) throws SQLExceptionSets the total number of decimal digits in a value stored in the designated column to the given number.- Specified by:
setPrecisionin interfaceRowSetMetaData- Parameters:
columnIndex- the first column is 1, the second is 2, and so on; must be between1and the number of columns, inclusiveprecision- the total number of decimal digits; must be0or more- Throws:
SQLException- if a database access error occurs, columnIndex is out of bounds, or precision is less than0
-
setScale
public void setScale(int columnIndex, int scale) throws SQLExceptionSets the number of digits to the right of the decimal point in a value stored in the designated column to the given number.- Specified by:
setScalein interfaceRowSetMetaData- Parameters:
columnIndex- the first column is 1, the second is 2, and so on; must be between1and the number of columns, inclusivescale- the number of digits to the right of the decimal point; must be zero or greater- Throws:
SQLException- if a database access error occurs, columnIndex is out of bounds, or scale is less than0
-
setTableName
public void setTableName(int columnIndex, String tableName) throws SQLExceptionSets the name of the table from which the designated column was derived to the given table name.- Specified by:
setTableNamein interfaceRowSetMetaData- Parameters:
columnIndex- the first column is 1, the second is 2, and so on; must be between1and the number of columns, inclusivetableName- the column's table name; may benullor an empty string- Throws:
SQLException- if a database access error occurs or the given column number is out of bounds
-
setCatalogName
public void setCatalogName(int columnIndex, String catalogName) throws SQLExceptionSets the catalog name of the table from which the designated column was derived to catalogName. If catalogName isnull, the catalog name is set to an empty string.- Specified by:
setCatalogNamein interfaceRowSetMetaData- Parameters:
columnIndex- the first column is 1, the second is 2, and so on; must be between1and the number of columns, inclusivecatalogName- the column's table's catalog name; if the catalogName isnull, an emptyStringis set- Throws:
SQLException- if a database access error occurs or the given column number is out of bounds
-
setColumnType
public void setColumnType(int columnIndex, int SQLType) throws SQLExceptionSets the SQL type code for values stored in the designated column to the given type code from the classjava.sql.Types.- Specified by:
setColumnTypein interfaceRowSetMetaData- Parameters:
columnIndex- the first column is 1, the second is 2, and so on; must be between1and the number of columns, inclusiveSQLType- the designated column's SQL type, which must be one of the constants in the classjava.sql.Types- Throws:
SQLException- if a database access error occurs, the given column number is out of bounds, or the column type specified is not one of the constants injava.sql.Types- See Also:
Types
-
setColumnTypeName
public void setColumnTypeName(int columnIndex, String typeName) throws SQLExceptionSets the type name used by the data source for values stored in the designated column to the given type name.- Specified by:
setColumnTypeNamein interfaceRowSetMetaData- Parameters:
columnIndex- the first column is 1, the second is 2, and so on; must be between1and the number of columns, inclusivetypeName- the data source-specific type name; if typeName isnull, an emptyStringis set- Throws:
SQLException- if a database access error occurs or the given column number is out of bounds
-
getColumnCount
public int getColumnCount() throws SQLExceptionRetrieves the number of columns in theRowSetobject for which thisRowSetMetaDataImplobject was created.- Specified by:
getColumnCountin interfaceResultSetMetaData- Returns:
- the number of columns
- Throws:
SQLException- if an error occurs determining the column count
-
isAutoIncrement
public boolean isAutoIncrement(int columnIndex) throws SQLExceptionRetrieves whether a value stored in the designated column is automatically numbered, and thus readonly.- Specified by:
isAutoIncrementin interfaceResultSetMetaData- Parameters:
columnIndex- the first column is 1, the second is 2, and so on; must be between1and the number of columns, inclusive- Returns:
trueif the column is automatically numbered;falseotherwise- Throws:
SQLException- if a database access error occurs or the given column number is out of bounds
-
isCaseSensitive
public boolean isCaseSensitive(int columnIndex) throws SQLExceptionIndicates whether the case of the designated column's name matters.- Specified by:
isCaseSensitivein interfaceResultSetMetaData- Parameters:
columnIndex- the first column is 1, the second is 2, and so on; must be between1and the number of columns, inclusive- Returns:
trueif the column name is case sensitive;falseotherwise- Throws:
SQLException- if a database access error occurs or the given column number is out of bounds
-
isSearchable
public boolean isSearchable(int columnIndex) throws SQLExceptionIndicates whether a value stored in the designated column can be used in aWHEREclause.- Specified by:
isSearchablein interfaceResultSetMetaData- Parameters:
columnIndex- the first column is 1, the second is 2, and so on; must be between1and the number of columns, inclusive- Returns:
trueif a value in the designated column can be used in aWHEREclause;falseotherwise- Throws:
SQLException- if a database access error occurs or the given column number is out of bounds
-
isCurrency
public boolean isCurrency(int columnIndex) throws SQLExceptionIndicates whether a value stored in the designated column is a cash value.- Specified by:
isCurrencyin interfaceResultSetMetaData- Parameters:
columnIndex- the first column is 1, the second is 2, and so on; must be between1and the number of columns, inclusive- Returns:
trueif a value in the designated column is a cash value;falseotherwise- Throws:
SQLException- if a database access error occurs or the given column number is out of bounds
-
isNullable
public int isNullable(int columnIndex) throws SQLExceptionRetrieves a constant indicating whether it is possible to store aNULLvalue in the designated column.- Specified by:
isNullablein interfaceResultSetMetaData- Parameters:
columnIndex- the first column is 1, the second is 2, and so on; must be between1and the number of columns, inclusive- Returns:
- a constant from the
ResultSetMetaDatainterface; eithercolumnNoNulls,columnNullable, orcolumnNullableUnknown - Throws:
SQLException- if a database access error occurs or the given column number is out of bounds
-
isSigned
public boolean isSigned(int columnIndex) throws SQLExceptionIndicates whether a value stored in the designated column is a signed number.- Specified by:
isSignedin interfaceResultSetMetaData- Parameters:
columnIndex- the first column is 1, the second is 2, and so on; must be between1and the number of columns, inclusive- Returns:
trueif a value in the designated column is a signed number;falseotherwise- Throws:
SQLException- if a database access error occurs or the given column number is out of bounds
-
getColumnDisplaySize
public int getColumnDisplaySize(int columnIndex) throws SQLExceptionRetrieves the normal maximum width in chars of the designated column.- Specified by:
getColumnDisplaySizein interfaceResultSetMetaData- Parameters:
columnIndex- the first column is 1, the second is 2, and so on; must be between1and the number of columns, inclusive- Returns:
- the maximum number of chars that can be displayed in the designated column
- Throws:
SQLException- if a database access error occurs or the given column number is out of bounds
-
getColumnLabel
public String getColumnLabel(int columnIndex) throws SQLException
Retrieves the suggested column title for the designated column for use in printouts and displays.- Specified by:
getColumnLabelin interfaceResultSetMetaData- Parameters:
columnIndex- the first column is 1, the second is 2, and so on; must be between1and the number of columns, inclusive- Returns:
- the suggested column name to use in printouts and displays
- Throws:
SQLException- if a database access error occurs or the given column number is out of bounds
-
getColumnName
public String getColumnName(int columnIndex) throws SQLException
Retrieves the name of the designated column.- Specified by:
getColumnNamein interfaceResultSetMetaData- Parameters:
columnIndex- the first column is 1, the second is 2, and so on; must be between1and the number of columns, inclusive- Returns:
- the column name of the designated column
- Throws:
SQLException- if a database access error occurs or the given column number is out of bounds
-
getSchemaName
public String getSchemaName(int columnIndex) throws SQLException
Retrieves the schema name of the table from which the value in the designated column was derived.- Specified by:
getSchemaNamein interfaceResultSetMetaData- Parameters:
columnIndex- the first column is 1, the second is 2, and so on; must be between1and the number of columns, inclusive- Returns:
- the schema name or an empty
Stringif no schema name is available - Throws:
SQLException- if a database access error occurs or the given column number is out of bounds
-
getPrecision
public int getPrecision(int columnIndex) throws SQLExceptionRetrieves the total number of digits for values stored in the designated column.- Specified by:
getPrecisionin interfaceResultSetMetaData- Parameters:
columnIndex- the first column is 1, the second is 2, and so on; must be between1and the number of columns, inclusive- Returns:
- the precision for values stored in the designated column
- Throws:
SQLException- if a database access error occurs or the given column number is out of bounds
-
getScale
public int getScale(int columnIndex) throws SQLExceptionRetrieves the number of digits to the right of the decimal point for values stored in the designated column.- Specified by:
getScalein interfaceResultSetMetaData- Parameters:
columnIndex- the first column is 1, the second is 2, and so on; must be between1and the number of columns, inclusive- Returns:
- the scale for values stored in the designated column
- Throws:
SQLException- if a database access error occurs or the given column number is out of bounds
-
getTableName
public String getTableName(int columnIndex) throws SQLException
Retrieves the name of the table from which the value in the designated column was derived.- Specified by:
getTableNamein interfaceResultSetMetaData- Parameters:
columnIndex- the first column is 1, the second is 2, and so on; must be between1and the number of columns, inclusive- Returns:
- the table name or an empty
Stringif no table name is available - Throws:
SQLException- if a database access error occurs or the given column number is out of bounds
-
getCatalogName
public String getCatalogName(int columnIndex) throws SQLException
Retrieves the catalog name of the table from which the value in the designated column was derived.- Specified by:
getCatalogNamein interfaceResultSetMetaData- Parameters:
columnIndex- the first column is 1, the second is 2, and so on; must be between1and the number of columns, inclusive- Returns:
- the catalog name of the column's table or an empty
Stringif no catalog name is available - Throws:
SQLException- if a database access error occurs or the given column number is out of bounds
-
getColumnType
public int getColumnType(int columnIndex) throws SQLExceptionRetrieves the type code (one of thejava.sql.Typesconstants) for the SQL type of the value stored in the designated column.- Specified by:
getColumnTypein interfaceResultSetMetaData- Parameters:
columnIndex- the first column is 1, the second is 2, and so on; must be between1and the number of columns, inclusive- Returns:
- an
intrepresenting the SQL type of values stored in the designated column - Throws:
SQLException- if a database access error occurs or the given column number is out of bounds- See Also:
Types
-
getColumnTypeName
public String getColumnTypeName(int columnIndex) throws SQLException
Retrieves the DBMS-specific type name for values stored in the designated column.- Specified by:
getColumnTypeNamein interfaceResultSetMetaData- Parameters:
columnIndex- the first column is 1, the second is 2, and so on; must be between1and the number of columns, inclusive- Returns:
- the type name used by the data source
- Throws:
SQLException- if a database access error occurs or the given column number is out of bounds
-
isReadOnly
public boolean isReadOnly(int columnIndex) throws SQLExceptionIndicates whether the designated column is definitely not writable, thus readonly.- Specified by:
isReadOnlyin interfaceResultSetMetaData- Parameters:
columnIndex- the first column is 1, the second is 2, and so on; must be between1and the number of columns, inclusive- Returns:
trueif thisRowSetobject is read-Only and thus not updatable;falseotherwise- Throws:
SQLException- if a database access error occurs or the given column number is out of bounds
-
isWritable
public boolean isWritable(int columnIndex) throws SQLExceptionIndicates whether it is possible for a write operation on the designated column to succeed. A return value oftruemeans that a write operation may or may not succeed.- Specified by:
isWritablein interfaceResultSetMetaData- Parameters:
columnIndex- the first column is 1, the second is 2, and so on; must be between1and the number of columns, inclusive- Returns:
trueif a write operation on the designated column may will succeed;falseotherwise- Throws:
SQLException- if a database access error occurs or the given column number is out of bounds
-
isDefinitelyWritable
public boolean isDefinitelyWritable(int columnIndex) throws SQLExceptionIndicates whether a write operation on the designated column will definitely succeed.- Specified by:
isDefinitelyWritablein interfaceResultSetMetaData- Parameters:
columnIndex- the first column is 1, the second is 2, and so on; must be between1and the number of columns, inclusive- Returns:
trueif a write operation on the designated column will definitely succeed;falseotherwise- Throws:
SQLException- if a database access error occurs or the given column number is out of bounds
-
getColumnClassName
public String getColumnClassName(int columnIndex) throws SQLException
Retrieves the fully-qualified name of the class in the Java programming language to which a value in the designated column will be mapped. For example, if the value is anint, the class name returned by this method will bejava.lang.Integer.If the value in the designated column has a custom mapping, this method returns the name of the class that implements
SQLData. When the methodResultSet.getObjectis called to retrieve a value from the designated column, it will create an instance of this class or one of its subclasses.- Specified by:
getColumnClassNamein interfaceResultSetMetaData- Parameters:
columnIndex- the first column is 1, the second is 2, and so on; must be between1and the number of columns, inclusive- Returns:
- the fully-qualified name of the class in the Java programming
language that would be used by the method
RowSet.getObjectto retrieve the value in the specified column. This is the class name used for custom mapping when there is a custom mapping. - Throws:
SQLException- if a database access error occurs or the given column number is out of bounds
-
unwrap
public <T> T unwrap(Class<T> iface) throws SQLException
Returns an object that implements the given interface to allow access to non-standard methods, or standard methods not exposed by the proxy. The result may be either the object found to implement the interface or a proxy for that object. If the receiver implements the interface then that is the object. If the receiver is a wrapper and the wrapped object implements the interface then that is the object. Otherwise the object is the result of callingunwraprecursively on the wrapped object. If the receiver is not a wrapper and does not implement the interface, then anSQLExceptionis thrown.- Specified by:
unwrapin interfaceWrapper- Type Parameters:
T- the type of the class modeled by this Class object- 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:
SQLException- If no object found that implements the interface- Since:
- 1.6
-
isWrapperFor
public boolean isWrapperFor(Class<?> interfaces) throws 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 callingisWrapperForon 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 tounwrapso that callers can use this method to avoid expensiveunwrapcalls that may fail. If this method returns true then callingunwrapwith the same argument should succeed.- Specified by:
isWrapperForin interfaceWrapper- Parameters:
interfaces- a Class defining an interface.- Returns:
- true if this implements the interface or directly or indirectly wraps an object that does.
- Throws:
SQLException- if an error occurs while determining whether this is a wrapper for an object with the given interface.- Since:
- 1.6
-
-