- java.lang.Object
-
- javax.sql.rowset.RowSetMetaDataImpl
-
- All Implemented Interfaces:
-
Serializable,ResultSetMetaData,Wrapper,RowSetMetaData
public class RowSetMetaDataImpl extends Object implements RowSetMetaData, Serializable
提供有关设置和获取关于RowSet对象列的元数据信息的方法的实现。RowSetMetaDataImpl对象跟踪行集中的列数,并维护每列的列属性的内部数组。RowSet对象在内部创建一个RowSetMetaDataImpl对象,以便设置和检索有关其列的信息。注意:
RowSetMetaDataImpl对象中的所有元数据应被视为不可用,直到其描述的RowSet对象被填充。 因此,任何检索信息的RowSetMetaDataImpl方法都被定义为在RowSet对象包含数据之前调用时具有未指定的行为。- 从以下版本开始:
- 1.5
- 另请参见:
- Serialized Form
-
-
Field Summary
-
Fields inherited from interface java.sql.ResultSetMetaData
columnNoNulls, columnNullable, columnNullableUnknown
-
-
构造方法摘要
构造方法 Constructor 描述 RowSetMetaDataImpl()
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 StringgetCatalogName(int columnIndex)检索从中导出指定列中的值的表的目录名称。StringgetColumnClassName(int columnIndex)以指定列中的值映射到的Java编程语言中的类的全限定名称。intgetColumnCount()检索创建此RowSetMetaDataImpl对象的RowSet对象中的列数。intgetColumnDisplaySize(int columnIndex)检索指定列的字符的正常最大宽度。StringgetColumnLabel(int columnIndex)检索指定列的建议列标题,以用于打印输出和显示。StringgetColumnName(int columnIndex)检索指定列的名称。intgetColumnType(int columnIndex)检索存储在指定列中的SQL类型的类型代码(java.sql.Types常量之一)。StringgetColumnTypeName(int columnIndex)检索存储在指定列中的值的DBMS特定类型名称。intgetPrecision(int columnIndex)检索存储在指定列中的值的总位数。intgetScale(int columnIndex)检索存储在指定列中的值的小数点右边的位数。StringgetSchemaName(int columnIndex)检索从中导出指定列中的值的表的模式名称。StringgetTableName(int columnIndex)检索从中导出指定列中的值的表的名称。booleanisAutoIncrement(int columnIndex)检索存储在指定列中的值是否自动编号,因此是唯读的。booleanisCaseSensitive(int columnIndex)指示指定列的名称是否重要。booleanisCurrency(int columnIndex)指示存储在指定列中的值是否为现金值。booleanisDefinitelyWritable(int columnIndex)指示指定列上的写操作是否一定会成功。intisNullable(int columnIndex)检索一个常量,指示是否可以在指定的列中存储NULL值。booleanisReadOnly(int columnIndex)指示指定的列是否绝对不可写,因此只读。booleanisSearchable(int columnIndex)指示存储在指定列中的值是否可以在WHERE子句中使用。booleanisSigned(int columnIndex)指示存储在指定列中的值是否为有符号数。booleanisWrapperFor(Class<?> interfaces)如果这实现了接口参数,或者直接或间接地为一个对象的包装器返回true。booleanisWritable(int columnIndex)指示指定列上的写操作是否可以成功。voidsetAutoIncrement(int columnIndex, boolean property)设置指定列是否自动编号,因此只读为给定的boolean值。voidsetCaseSensitive(int columnIndex, boolean property)设置指定列的名称是否对给定的boolean区分大小写。voidsetCatalogName(int columnIndex, String catalogName)将派生指定列的表的目录名称设置为 catalogName 。voidsetColumnCount(int columnCount)设置为给定数量的列数RowSet针对此对象RowSetMetaDataImpl创建对象。voidsetColumnDisplaySize(int columnIndex, int size)将指定列中正常的最大字符数设置为给定的数字。voidsetColumnLabel(int columnIndex, String label)设置建议的列标签,用于打印输出和显示(如果有) 标签 。voidsetColumnName(int columnIndex, String columnName)将指定列的列名称设置为给定的名称。voidsetColumnType(int columnIndex, int SQLType)将存储在指定列中的值的SQL类型代码设置为来自类别java.sql.Types的给定类型代码。voidsetColumnTypeName(int columnIndex, String typeName)将存储在指定列中的值的数据源使用的类型名称设置为给定的类型名称。voidsetCurrency(int columnIndex, boolean property)设置存储在指定列中的值是否为给定的boolean的现金值。voidsetNullable(int columnIndex, int property)设置是否存储在指定列中的值可以被设置为NULL从界面到给定的常量ResultSetMetaData。voidsetPrecision(int columnIndex, int precision)将存储在指定列中的值中的十进制数字的总数设置为给定的数字。voidsetScale(int columnIndex, int scale)将存储在指定列中的值中的小数点右边的位数设置为给定的数字。voidsetSchemaName(int columnIndex, String schemaName)将指定列的表的模式名称(如果有)设置为 schemaName 。voidsetSearchable(int columnIndex, boolean property)设置存储在指定列中的值是否可以在给定的boolean值的WHERE子句中使用。voidsetSigned(int columnIndex, boolean property)设置存储在指定列中的值是否为给定的boolean。voidsetTableName(int columnIndex, String tableName)将派生指定列的表的名称设置为给定的表名。<T> Tunwrap(Class<T> iface)返回一个实现给定接口以允许访问非标准方法的对象,或代理不公开的标准方法。
-
-
-
方法详细信息
-
setColumnCount
public void setColumnCount(int columnCount) throws SQLException将给定的这个RowSetMetaDataImpl对象的RowSet对象的列数设置为给定的数字。- Specified by:
-
setColumnCount在接口RowSetMetaData - 参数
-
columnCount- 一个int给出了RowSet对象中的列数 - 异常
-
SQLException- 如果给定的数字等于或小于零
-
setAutoIncrement
public void setAutoIncrement(int columnIndex, boolean property) throws SQLException设置指定列是否自动编号,因此只读为给定的boolean值。- Specified by:
-
setAutoIncrement在接口RowSetMetaData - 参数
-
columnIndex- 第一columnIndex1,第二columnIndex2,依此类推; 必须在1之间,并且行1的列数(包括行数) -
property-true如果给定列自动递增; 否则为false - 异常
-
SQLException- 如果发生数据库访问错误或给定索引超出范围
-
setCaseSensitive
public void setCaseSensitive(int columnIndex, boolean property) throws SQLException设置指定列的名称是否对给定的boolean区分大小写。- Specified by:
-
setCaseSensitive在接口RowSetMetaData - 参数
-
columnIndex- 第一columnIndex1,第二columnIndex2,依此类推; 必须在1之间,并且行1的列数(包括行数) -
property-true以表示列名称区分大小写; 否则为false - 异常
-
SQLException- 如果发生数据库访问错误或给定的列号超出范围
-
setSearchable
public void setSearchable(int columnIndex, boolean property) throws SQLException设置在给定的boolean值的WHERE子句中是否可以使用存储在指定列中的值。- Specified by:
-
setSearchable在接口RowSetMetaData - 参数
-
columnIndex- 第一columnIndex1,第二columnIndex2,依此类推; 必须在1之间,并且行1的列数(包括行数) -
property-true以表示可以在WHERE子句中使用列值; 否则为false - 异常
-
SQLException- 如果发生数据库访问错误或给定的列号超出范围
-
setCurrency
public void setCurrency(int columnIndex, boolean property) throws SQLException设置存储在指定列中的值是否为给定的现金值boolean。- Specified by:
-
setCurrency在接口RowSetMetaData - 参数
-
columnIndex- 第一columnIndex1,第二columnIndex2,依此类推; 必须在1和列数之间,包括1和列数之间,包括 -
property- 如果该值为现金值,propertytrue; 否则为假。 - 异常
-
SQLException- 如果发生数据库访问错误或给定的列号超出范围
-
setNullable
public void setNullable(int columnIndex, int property) throws SQLException设置是否存储在指定列中的值可以被设置为NULL从界面到给定的常量ResultSetMetaData。- Specified by:
-
setNullable在接口RowSetMetaData - 参数
-
columnIndex- 第一columnIndex1,第二columnIndex2,依此类推; 必须在1之间和列数(含)之间 -
property-下列操作之一ResultSetMetaData常量:columnNoNulls,columnNullable,或columnNullableUnknown - 异常
-
SQLException-如果发生数据库访问错误,给定列数出界,或为 属性参数中提供的值不是以下常量之一:ResultSetMetaData.columnNoNulls,ResultSetMetaData.columnNullable,或ResultSetMetaData.columnNullableUnknown
-
setSigned
public void setSigned(int columnIndex, boolean property) throws SQLException设置存储在指定列中的值是否为给定的boolean带符号数。- Specified by:
-
setSigned在接口RowSetMetaData - 参数
-
columnIndex- 第一columnIndex1,第二columnIndex2,依此类推; 必须在1之间和列数(含)之间 -
property-true,表明列值是有符号数;false表示不是 - 异常
-
SQLException- 如果发生数据库访问错误或给定的列号超出范围
-
setColumnDisplaySize
public void setColumnDisplaySize(int columnIndex, int size) throws SQLException将指定列中正常的最大字符数设置为给定的数字。- Specified by:
-
setColumnDisplaySize在接口RowSetMetaData - 参数
-
columnIndex- 第一columnIndex1,第二columnIndex2,依此类推; 必须在1之间和列数(含)之间 -
size- 字符列中的最大大小; 必须是0或更高 - 异常
-
SQLException- 如果发生数据库访问错误,给定的列号超出范围,或 大小小于0
-
setColumnLabel
public void setColumnLabel(int columnIndex, String label) throws SQLException设置建议的列标签,用于打印输出和显示(如果有) 标签 。 如果标签为null,列标签设置为空字符串(“”)。- Specified by:
-
setColumnLabel在接口RowSetMetaData - 参数
-
columnIndex- 第一columnIndex1,第二columnIndex2,依此类推; 必须介于1和列数之间(含) -
label- 用于打印输出和显示的列标签; 如果列标签为null,则设置一个空的String - 异常
-
SQLException- 如果发生数据库访问错误或给定列索引超出范围
-
setColumnName
public void setColumnName(int columnIndex, String columnName) throws SQLException将指定列的列名称设置为给定的名称。- Specified by:
-
setColumnName在接口RowSetMetaData - 参数
-
columnIndex- 第一columnIndex1,第二columnIndex2,依此类推; 必须介于1和列数之间(含) -
columnName- 表示列名称的String对象; 如果给定的名称是null,则设置一个空的String - 异常
-
SQLException- 如果发生数据库访问错误或给定的列索引超出范围
-
setSchemaName
public void setSchemaName(int columnIndex, String schemaName) throws SQLException将指定列的表的模式名称(如果有)设置为schemaName 。 如果schemaName为null,则模式名称将设置为空字符串(“”)。- Specified by:
-
setSchemaName在接口RowSetMetaData - 参数
-
columnIndex- 第一columnIndex1,第二columnIndex2,依此类推; 必须在1之间和列数(含)之间 -
schemaName- 派生指定列中的值的表的模式名称; 可能是一个空的String或null - 异常
-
SQLException- 如果发生数据库访问错误或给定的列号超出范围
-
setPrecision
public void setPrecision(int columnIndex, int precision) throws SQLException将存储在指定列中的值中的十进制数字的总数设置为给定的数字。- Specified by:
-
setPrecision在接口RowSetMetaData - 参数
-
columnIndex- 第一columnIndex1,第二columnIndex2,依此类推; 必须介于1与列数之间(含) -
precision- 十进制数总数; 必须是0或更多 - 异常
-
SQLException- 如果发生数据库访问错误, columnIndex超出范围,或 精度小于0
-
setScale
public void setScale(int columnIndex, int scale) throws SQLException将存储在指定列中的值中的小数点右边的位数设置为给定的数字。- Specified by:
-
setScale在接口RowSetMetaData - 参数
-
columnIndex- 第一columnIndex1,第二columnIndex2,依此类推; 必须在1之间和列数(含)之间 -
scale- 小数点右侧的位数; 必须为零或更大 - 异常
-
SQLException- 如果发生数据库访问错误, columnIndex超出范围,或者 scale小于0
-
setTableName
public void setTableName(int columnIndex, String tableName) throws SQLException将派生指定列的表的名称设置为给定的表名。- Specified by:
-
setTableName在接口RowSetMetaData - 参数
-
columnIndex- 第一columnIndex1,第二columnIndex2,依此类推; 必须在1和列数之间(含) -
tableName- 列的表名; 可能是null或一个空字符串 - 异常
-
SQLException- 如果发生数据库访问错误或给定的列号超出范围
-
setCatalogName
public void setCatalogName(int columnIndex, String catalogName) throws SQLException将派生指定列的表的目录名称设置为catalogName 。 如果CatalogName编为null,类别名称设置为空字符串。- Specified by:
-
setCatalogName在接口RowSetMetaData - 参数
-
columnIndex- 第一columnIndex1,第二columnIndex2,依此类推; 必须在1之间和列数(含)之间 -
catalogName- 列的表的目录名称; 如果null为null,则设置一个空的String - 异常
-
SQLException- 如果发生数据库访问错误或给定的列号超出范围
-
setColumnType
public void setColumnType(int columnIndex, int SQLType) throws SQLException将存储在指定列中的值的SQL类型代码设置为来自类别java.sql.Types的给定类型代码。- Specified by:
-
setColumnType在接口RowSetMetaData - 参数
-
columnIndex- 第一columnIndex1,第二columnIndex2,依此类推; 必须在1之间和列数(含)之间 -
SQLType- 指定列的SQL类型,它必须是类java.sql.Types中的常量之一 - 异常
-
SQLException- 如果发生数据库访问错误,给定的列号超出范围,或者指定的列类型不是java.sql.Types中的常量之一 - 另请参见:
-
Types
-
setColumnTypeName
public void setColumnTypeName(int columnIndex, String typeName) throws SQLException将存储在指定列中的值的数据源使用的类型名称设置为给定的类型名称。- Specified by:
-
setColumnTypeName在接口RowSetMetaData - 参数
-
columnIndex- 第一columnIndex1,第二columnIndex2,依此类推; 必须在1之间和列数(含)之间 -
typeName- 数据源特定类型名称; 如果typeName为null,则设置一个空的String - 异常
-
SQLException- 如果发生数据库访问错误或给定的列号超出范围
-
getColumnCount
public int getColumnCount() throws SQLException检索创建此RowSetMetaDataImpl对象的RowSet对象中的列数。- Specified by:
-
getColumnCount在接口ResultSetMetaData - 结果
- 列数
- 异常
-
SQLException- 如果确定列计数出现错误
-
isAutoIncrement
public boolean isAutoIncrement(int columnIndex) throws SQLException检索存储在指定列中的值是否自动编号,因此是唯读的。- Specified by:
-
isAutoIncrement在接口ResultSetMetaData - 参数
-
columnIndex- 第一columnIndex1,第二columnIndex2,依此类推; 必须在1之间和列数(含)之间 - 结果
-
true如果列自动编号; 否则为false - 异常
-
SQLException- 如果发生数据库访问错误或给定的列号超出范围
-
isCaseSensitive
public boolean isCaseSensitive(int columnIndex) throws SQLException指示指定列的名称是否重要。- Specified by:
-
isCaseSensitive在接口ResultSetMetaData - 参数
-
columnIndex- 第一columnIndex1,第二columnIndex2,依此类推; 必须介于1与列数之间(含) - 结果
-
true如果列名称区分大小写; 否则为false - 异常
-
SQLException- 如果发生数据库访问错误或给定的列号超出范围
-
isSearchable
public boolean isSearchable(int columnIndex) throws SQLException指示是否可以在WHERE子句中使用存储在指定列中的WHERE。- Specified by:
-
isSearchable在接口ResultSetMetaData - 参数
-
columnIndex- 第一columnIndex1,第二columnIndex2,依此类推; 必须介于1与列数之间(含) - 结果
-
true如果指定列中的值可以在WHERE子句中使用;false否则 - 异常
-
SQLException- 如果发生数据库访问错误或给定的列号超出范围
-
isCurrency
public boolean isCurrency(int columnIndex) throws SQLException指示存储在指定列中的值是否为现金值。- Specified by:
-
isCurrency接口ResultSetMetaData - 参数
-
columnIndex- 第一columnIndex1,第二columnIndex2,依此类推; 必须在1之间和列数(含)之间 - 结果
-
如果指定列中的值为现金值,
true; 否则为false - 异常
-
SQLException- 如果发生数据库访问错误或给定的列号超出范围
-
isNullable
public int isNullable(int columnIndex) throws SQLException检索一个常量,指示是否可以在指定列中存储NULL值。- Specified by:
-
isNullable在接口ResultSetMetaData - 参数
-
columnIndex- 第一columnIndex1,第二columnIndex2,依此类推; 必须介于1与列数之间(含) - 结果
-
一个常数从
ResultSetMetaData界面; 任一columnNoNulls,columnNullable,或columnNullableUnknown - 异常
-
SQLException- 如果发生数据库访问错误或给定的列号超出范围
-
isSigned
public boolean isSigned(int columnIndex) throws SQLException指示存储在指定列中的值是否为有符号数。- Specified by:
-
isSigned在接口ResultSetMetaData - 参数
-
columnIndex- 第一columnIndex1,第二columnIndex2,依此类推; 必须在1之间和列数(含)之间 - 结果
-
true如果指定列中的值是有符号的数字; 否则为false - 异常
-
SQLException- 如果发生数据库访问错误或给定的列号超出范围
-
getColumnDisplaySize
public int getColumnDisplaySize(int columnIndex) throws SQLException检索指定列的字符的正常最大宽度。- Specified by:
-
getColumnDisplaySize在接口ResultSetMetaData - 参数
-
columnIndex- 第一columnIndex1,第二columnIndex2,依此类推; 必须在1之间和列数(含)之间 - 结果
- 可以在指定列中显示的最大字符数
- 异常
-
SQLException- 如果发生数据库访问错误或给定的列号超出范围
-
getColumnLabel
public String getColumnLabel(int columnIndex) throws SQLException
检索指定列的建议列标题,以用于打印输出和显示。- Specified by:
-
getColumnLabel在接口ResultSetMetaData - 参数
-
columnIndex- 第一columnIndex1,第二columnIndex2,依此类推; 必须在1之间和列数(含)之间 - 结果
- 建议的列名称用于打印输出和显示
- 异常
-
SQLException- 如果发生数据库访问错误或给定的列号超出范围
-
getColumnName
public String getColumnName(int columnIndex) throws SQLException
检索指定列的名称。- Specified by:
-
getColumnName在接口ResultSetMetaData - 参数
-
columnIndex- 第一columnIndex1,第二columnIndex2,依此类推; 必须在1之间和列数(含)之间 - 结果
- 指定列的列名称
- 异常
-
SQLException- 如果发生数据库访问错误或给定的列号超出范围
-
getSchemaName
public String getSchemaName(int columnIndex) throws SQLException
检索从中导出指定列中的值的表的模式名称。- Specified by:
-
getSchemaName在接口ResultSetMetaData - 参数
-
columnIndex- 第一columnIndex1,第二columnIndex2,依此类推; 必须介于1和列数之间(含) - 结果
-
模式名称或空
String如果没有模式名称可用) - 异常
-
SQLException- 如果发生数据库访问错误或给定的列号超出范围
-
getPrecision
public int getPrecision(int columnIndex) throws SQLException检索存储在指定列中的值的总位数。- Specified by:
-
getPrecision在接口ResultSetMetaData - 参数
-
columnIndex- 第一columnIndex1,第二columnIndex2,依此类推; 必须在1之间和列数(含)之间 - 结果
- 存储在指定列中的值的精度
- 异常
-
SQLException- 如果发生数据库访问错误或给定的列号超出范围
-
getScale
public int getScale(int columnIndex) throws SQLException检索存储在指定列中的值的小数点右边的位数。- Specified by:
-
getScale在接口ResultSetMetaData - 参数
-
columnIndex- 第一columnIndex1,第二columnIndex2,依此类推; 必须在1之间和列数(含)之间 - 结果
- 存储在指定列中的值的比例
- 异常
-
SQLException- 如果发生数据库访问错误或给定的列号超出范围
-
getTableName
public String getTableName(int columnIndex) throws SQLException
检索从中导出指定列中的值的表的名称。- Specified by:
-
getTableName在接口ResultSetMetaData - 参数
-
columnIndex- 第一列是1,第二列是2,依此类推; 必须在1之间和列数(含)之间 - 结果
-
表名或空
String如果没有表名可用) - 异常
-
SQLException- 如果发生数据库访问错误或给定的列号超出范围
-
getCatalogName
public String getCatalogName(int columnIndex) throws SQLException
检索从中导出指定列中的值的表的目录名称。- Specified by:
-
getCatalogName在接口ResultSetMetaData - 参数
-
columnIndex- 第一columnIndex1,第二columnIndex2,依此类推; 必须在1之间和列数(含)之间 - 结果
-
列的表的目录名称,如果没有可用的目录名称,则为空
String - 异常
-
SQLException- 如果发生数据库访问错误或给定的列号超出范围
-
getColumnType
public int getColumnType(int columnIndex) throws SQLException检索存储在指定列中的SQL类型的类型代码(java.sql.Types常量之一)。- Specified by:
-
getColumnType接口ResultSetMetaData - 参数
-
columnIndex- 第一columnIndex1,第二columnIndex2,依此类推; 必须在1之间和列数(含)之间 - 结果
-
一个
int表示存储在指定列中的SQL类型的值 - 异常
-
SQLException- 如果发生数据库访问错误或给定的列号超出范围 - 另请参见:
-
Types
-
getColumnTypeName
public String getColumnTypeName(int columnIndex) throws SQLException
检索存储在指定列中的值的DBMS特定类型名称。- Specified by:
-
getColumnTypeName在接口ResultSetMetaData - 参数
-
columnIndex- 第一columnIndex1,第二columnIndex2,依此类推; 必须在1之间和列数(含)之间 - 结果
- 数据源使用的类型名称
- 异常
-
SQLException- 如果发生数据库访问错误或给定的列号超出范围
-
isReadOnly
public boolean isReadOnly(int columnIndex) throws SQLException指示指定的列是否绝对不可写,因此只读。- Specified by:
-
isReadOnly在接口ResultSetMetaData - 参数
-
columnIndex- 第一columnIndex1,第二columnIndex2,依此类推; 必须在1之间和列数(含)之间 - 结果
-
true如果这个RowSet对象是只读的,因此不可更新; 否则为false - 异常
-
SQLException- 如果发生数据库访问错误或给定列号超出范围
-
isWritable
public boolean isWritable(int columnIndex) throws SQLException指示指定列上的写操作是否可以成功。 返回值为true意味着写入操作可能成功或可能不成功。- Specified by:
-
isWritable在接口ResultSetMetaData - 参数
-
columnIndex- 第一columnIndex1,第二columnIndex2,依此类推; 必须在1之间和列数(含)之间 - 结果
-
true如果指定列上的写操作可能会成功; 否则为false - 异常
-
SQLException- 如果发生数据库访问错误或给定的列号超出范围
-
isDefinitelyWritable
public boolean isDefinitelyWritable(int columnIndex) throws SQLException指示指定列上的写操作是否一定会成功。- Specified by:
-
isDefinitelyWritable在接口ResultSetMetaData - 参数
-
columnIndex- 第一columnIndex1,第二columnIndex2,依此类推; 必须在1之间和列数(含)之间 - 结果
-
true如果指定列上的写操作肯定会成功; 否则为false - 异常
-
SQLException- 如果发生数据库访问错误或给定的列号超出范围
-
getColumnClassName
public String getColumnClassName(int columnIndex) throws SQLException
以指定列中的值映射到的Java编程语言中的类的全限定名称。 例如,如果该值为int,则此方法返回的类名将为java.lang.Integer。如果指定列中的值具有自定义映射,则此方法返回实现
SQLData的类的名称。 当方法ResultSet.getObject被调用以从指定的列检索一个值时,它将创建此类或其子类之一的实例。- Specified by:
-
getColumnClassName在接口ResultSetMetaData - 参数
-
columnIndex- 第一columnIndex1,第二columnIndex2,依此类推; 必须介于1和列数之间(含) - 结果
-
Java编程语言中的类的完全限定名称,方法
RowSet.getObject将用于检索指定列中的值。 这是当有自定义映射时用于自定义映射的类名称。 - 异常
-
SQLException- 如果发生数据库访问错误或给定的列号超出范围
-
unwrap
public <T> T unwrap(Class<T> iface) throws SQLException
返回一个实现给定接口以允许访问非标准方法的对象,或代理不公开的标准方法。 结果可能是找到用于实现该对象的接口或代理的对象。 如果接收器实现了接口,那就是对象。 如果接收者是一个包装器,并且被包装的对象实现了接口,那就是对象。 否则,对象是在包装对象上递归调用unwrap的结果。 如果接收方不是包装器,并且不实现接口,则抛出一个SQLException。- Specified by:
-
unwrap在接口Wrapper - 参数类型
-
T- 由此Class对象建模的类的类型 - 参数
-
iface- 定义结果必须实现的接口的类。 - 结果
- 一个实现接口的对象。 可能是实际实现对象的代理。
- 异常
-
SQLException- 如果没有找到实现接口的对象 - 从以下版本开始:
- 1.6
-
isWrapperFor
public boolean isWrapperFor(Class<?> interfaces) throws SQLException
如果这实现了接口参数,或者直接或间接地为一个对象的包装器返回true。 否则返回false。 如果这实现了接口,那么返回true,否则如果这是一个包装器,那么返回在包装对象上递归调用isWrapperFor的结果。 如果这不实现接口并且不是包装器,则返回false。 与unwrap相比,此方法应作为低成本操作实现,以便呼叫者可以使用此方法来避免可能失败的昂贵的unwrap调用。 如果此方法返回true,则使用相同参数调用unwrap应该会成功。- Specified by:
-
isWrapperFor在接口Wrapper - 参数
-
interfaces- 定义接口的类。 - 结果
- 如果这实现了接口,或者直接或间接地包装一个对象,则为true。
- 异常
-
SQLException- 如果在确定这是否是具有给定接口的对象的包装器时是否发生错误。 - 从以下版本开始:
- 1.6
-
-