Hitachi

ノンストップデータベース HiRDB Version 10 UAP開発ガイド


17.8.2 Wrapperインタフェース

〈この項の構成〉

(1) 概要

Wrapperインタフェースでは,JDBCでの規定以外のメソッドを呼び出すための標準化された仕組みが提供されます。Connection,DatabaseMetaData,DataSource,ResultSet,ResultSetMetaData,Statement,PrepareStatement,CallableStatement,及びParameterMetaDataの各インタフェースがWrapperインタフェースを継承します。

(2) メソッド

Wrapperインタフェースのメソッド一覧を次の表に示します。なお,表に記載されていないメソッドはサポートしていません。サポートしていないメソッドを指定すると,SQLExceptionを投入します。

表17‒93 Wrapperインタフェースのメソッド一覧

メソッド

提供ドライバ

機能

JDBC2.0

JDBC4.0

isWrapperFor(Class<?> iface)

×

指定されたクラスのオブジェクトをunwrapメソッドで返却できるかどうかを返します。

unwrap(Class<T> iface)

×

指定されたクラスのオブジェクトを返します。

(凡例)

○:提供されます。

×:提供されません。

Wrapperインタフェースを継承したインタフェースに対して,unwrapで指定できるクラスの一覧を次の表に示します。

表17‒94 unwrapで指定できるクラス

項番

インタフェース

unwrapで指定できるクラス

1

java.sql.Connection

JP.co.Hitachi.soft.HiRDB.JDBC.PrdbConnection

2

java.sql.DatabaseMetaData

JP.co.Hitachi.soft.HiRDB.JDBC.PrdbDatabaseMetaData

3

javax.sql.DataSource

JP.co.Hitachi.soft.HiRDB.JDBC.PrdbDataSource

4

java.sql.ResultSet

JP.co.Hitachi.soft.HiRDB.JDBC.PrdbResultSet

5

java.sql.ResultSetMetaData

JP.co.Hitachi.soft.HiRDB.JDBC.PrdbResultSetMetaData

6

java.sql.Statement

JP.co.Hitachi.soft.HiRDB.JDBC.PrdbStatement

7

java.sql.PreparedStatement

JP.co.Hitachi.soft.HiRDB.JDBC.PrdbPreparedStatement

8

java.sql.CallableStatement

JP.co.Hitachi.soft.HiRDB.JDBC.PrdbCallableStatement

9

java.sql.ParameterMetaData

JP.co.Hitachi.soft.HiRDB.JDBC.PrdbParameterMetaData

(a) isWrapperFor(Class<?> iface)

【機能】

指定されたクラスのオブジェクトをunwrapで返却できるかどうかを返します。

【形式】
public boolean isWrapperFor(Class<?> iface) throws SQLException
【引数】
Class iface:

チェック対象のクラス

【戻り値】
boolean型:
  • true:指定されたクラスのオブジェクトをunwrapで返却できます。

  • false:指定されたクラスのオブジェクトをunwrapで返却できません。

【機能詳細】

指定されたクラスのオブジェクトをunwrapで返却できるかどうかを返します。このメソッドでtrueが返された場合,このメソッドで指定した引数と同じ引数でunwrapを実行すれば,必ず成功します。

【発生する例外】

なし。

(b) unwrap(Class<T> iface)

【機能】

指定されたクラスのオブジェクトを返します。

【形式】
public <T> T unwrap(Class<T> iface) throws SQLException
【引数】
Class<T> iface:

取得オブジェクトのクラス

【戻り値】

<T> T:指定されたクラスのオブジェクト

【発生する例外】

指定されたクラスのオブジェクトを返却できない場合,メッセージKFPJ20022-EでSQLExceptionを投入します。