java.lang.Object
javax.sql.rowset.serial.SQLOutputImpl
- すべての実装されたインタフェース:
SQLOutput
カスタム・マップされたユーザー定義型(UDT)の属性をデータベースに再度書き込むための出力ストリームです。 ドライバはこのインタフェースを内部で使用します。このインタフェースのメソッドがアプリケーション・プログラマによって直接呼び出されることはありません。
アプリケーションがPreparedStatement.setObject
メソッドを呼び出すと、ドライバはカスタム・マッピングを利用して、書き込まれる値がUDT型であるかどうかを確認します。 UDT型であれば、このUDTのSQLData
を実装するクラスのClass
オブジェクトを格納する型マップ内にエントリが存在します。 書き込まれる値がSQLData
のインスタンスである場合、ドライバはSQLOutputImpl
のインスタンスを作成し、SQLData.writeSQL
メソッドに渡します。 すると、writeSQL
メソッドによって適切なSQLOutputImpl.writeXXX
メソッドが呼び出され、SQLData
オブジェクトからSQLOutputImpl
出力ストリームに、SQLユーザー定義型の表現としてデータが書き込まれます。
- 導入されたバージョン:
- 1.5
-
コンストラクタのサマリー
コンストラクタ説明SQLOutputImpl
(Vector<?> attributes, Map<String, ?> map) 指定の属性および型マップのベクトルで初期化された新しいSQLOutputImpl
オブジェクトを作成します。 -
メソッドのサマリー
修飾子と型メソッド説明void
writeArray
(Array x) このSQLOutputImpl
オブジェクトにJavaプログラミング言語のArray
オブジェクトを書き込みます。void
このSQLOutputImpl
オブジェクトにASCII文字ストリームを書き込みます。void
このSQLOutputImpl
オブジェクトにJavaプログラミング言語のjava.math.BigDecimal
オブジェクトを書き込みます。void
このSQLOutputImpl
オブジェクトに未解釈のバイト・ストリームを書き込みます。void
このSQLOutputImpl
オブジェクトにJavaプログラミング言語のBlob
オブジェクトを書き込みます。void
writeBoolean
(boolean x) このSQLOutputImpl
オブジェクトにJavaプログラミング言語のboolean
を書き込みます。void
writeByte
(byte x) このSQLOutputImpl
オブジェクトにJavaプログラミング言語のbyte
を書き込みます。void
writeBytes
(byte[] x) このSQLOutputImpl
オブジェクトにJavaプログラミング言語のbytes
の配列を書き込みます。void
このSQLOutputImpl
オブジェクトにUnicode文字ストリームを書き込みます。void
このSQLOutputImpl
オブジェクトにJavaプログラミング言語のClob
オブジェクトを書き込みます。void
このSQLOutputImpl
オブジェクトにJavaプログラミング言語のjava.sql.Date
オブジェクトを書き込みます。void
writeDouble
(double x) このSQLOutputImpl
オブジェクトにJavaプログラミング言語のdouble
を書き込みます。void
writeFloat
(float x) このSQLOutputImpl
オブジェクトにJavaプログラミング言語のfloat
を書き込みます。void
writeInt
(int x) このSQLOutputImpl
オブジェクトにJavaプログラミング言語のint
を書き込みます。void
writeLong
(long x) このSQLOutputImpl
オブジェクトにJavaプログラミング言語のlong
を書き込みます。void
writeNClob
(NClob x) SQLNCLOB
値をストリームに書き込みます。void
次の属性をJavaプログラミング言語のString
としてストリームに書き込みます。void
指定されたSQLData
オブジェクトに格納されたデータをストリームに書き込みます。void
このSQLOutputImpl
オブジェクトにJavaプログラミング言語のRef
オブジェクトを書き込みます。void
writeRowId
(RowId x) SQLROWID
値をストリームに書き込みます。void
writeShort
(short x) このSQLOutputImpl
オブジェクトにJavaプログラミング言語のshort
を書き込みます。void
SQLXML
値をストリームに書き込みます。void
このSQLOutputImpl
オブジェクトにJavaプログラミング言語のString
を書き込みます。void
このSQLOutputImpl
オブジェクトにJavaプログラミング言語のStruct
オブジェクトを書き込みます。void
このSQLOutputImpl
オブジェクトにJavaプログラミング言語のjava.sql.Time
オブジェクトを書き込みます。void
このSQLOutputImpl
オブジェクトにJavaプログラミング言語のjava.sql.Timestamp
オブジェクトを書き込みます。void
このSQLOutputImpl
オブジェクトにJavaプログラミング言語のjava.sql.Type.DATALINK
オブジェクトを書き込みます。クラス java.lang.Objectで宣言されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
インタフェース java.sql.SQLOutputで宣言されたメソッド
writeObject
-
コンストラクタの詳細
-
SQLOutputImpl
public SQLOutputImpl(Vector<?> attributes, Map<String, ?> map) throws SQLException指定の属性および型マップのベクトルで初期化された新しいSQLOutputImpl
オブジェクトを作成します。 ドライバは、型マップを使って、どのSQLData.writeSQL
メソッドを呼び出すかを決定します。 このメソッドによって適切なSQLOutputImpl
writerメソッドが呼び出され、新しい出力ストリームに属性が書き込まれます。- パラメータ:
attributes
- DTの属性を格納するVector
オブジェクト。Javaプログラミング言語の1個以上のオブジェクトにマップされるmap
- 0個以上のエントリを持つjava.util.Map
オブジェクト。各エントリは、(1) UDTの完全修飾名を指定するString
オブジェクトと、(2) UDTのマッピング方法を定義するSQLData
実装のClass
オブジェクトで構成される- 例外:
SQLException
-attributes
またはmap
がnull
値の場合
-
-
メソッドの詳細
-
writeString
public void writeString(String x) throws SQLException このSQLOutputImpl
オブジェクトにJavaプログラミング言語のString
を書き込みます。 ドライバは、これをSQLCHAR
、VARCHAR
、またはLONGVARCHAR
に変換してから、データベースに渡します。- 定義:
writeString
、インタフェースSQLOutput
- パラメータ:
x
- データベースに渡す値- 例外:
SQLException
- UDTの属性値をデータベースに書き込むため、SQLData
オブジェクトによってSQLOutputImpl
オブジェクトが使用されている場合。
-
writeBoolean
public void writeBoolean(boolean x) throws SQLException このSQLOutputImpl
オブジェクトにJavaプログラミング言語のboolean
を書き込みます。 ドライバは、これをSQLBIT
に変換してから、データベースに渡します。- 定義:
writeBoolean
、インタフェースSQLOutput
- パラメータ:
x
- データベースに渡す値- 例外:
SQLException
- UDTの属性値をデータベースに書き込むため、SQLData
オブジェクトによってSQLOutputImpl
オブジェクトが使用されている場合。
-
writeByte
public void writeByte(byte x) throws SQLException このSQLOutputImpl
オブジェクトにJavaプログラミング言語のbyte
を書き込みます。 ドライバは、これをSQLBIT
に変換してから、データベースに渡します。- 定義:
writeByte
、インタフェースSQLOutput
- パラメータ:
x
- データベースに渡す値- 例外:
SQLException
- UDTの属性値をデータベースに書き込むため、SQLData
オブジェクトによってSQLOutputImpl
オブジェクトが使用されている場合。
-
writeShort
public void writeShort(short x) throws SQLException このSQLOutputImpl
オブジェクトにJavaプログラミング言語のshort
を書き込みます。 ドライバは、これをSQLSMALLINT
に変換してから、データベースに渡します。- 定義:
writeShort
、インタフェースSQLOutput
- パラメータ:
x
- データベースに渡す値- 例外:
SQLException
- UDTの属性値をデータベースに書き込むため、SQLData
オブジェクトによってSQLOutputImpl
オブジェクトが使用されている場合。
-
writeInt
public void writeInt(int x) throws SQLException このSQLOutputImpl
オブジェクトにJavaプログラミング言語のint
を書き込みます。 ドライバは、これをSQLINTEGER
に変換してから、データベースに渡します。- 定義:
writeInt
、インタフェースSQLOutput
- パラメータ:
x
- データベースに渡す値- 例外:
SQLException
- UDTの属性値をデータベースに書き込むため、SQLData
オブジェクトによってSQLOutputImpl
オブジェクトが使用されている場合。
-
writeLong
public void writeLong(long x) throws SQLException このSQLOutputImpl
オブジェクトにJavaプログラミング言語のlong
を書き込みます。 ドライバは、これをSQLBIGINT
に変換してから、データベースに渡します。- 定義:
writeLong
、インタフェースSQLOutput
- パラメータ:
x
- データベースに渡す値- 例外:
SQLException
- UDTの属性値をデータベースに書き込むため、SQLData
オブジェクトによってSQLOutputImpl
オブジェクトが使用されている場合。
-
writeFloat
public void writeFloat(float x) throws SQLException このSQLOutputImpl
オブジェクトにJavaプログラミング言語のfloat
を書き込みます。 ドライバは、これをSQLREAL
に変換してから、データベースに渡します。- 定義:
writeFloat
、インタフェースSQLOutput
- パラメータ:
x
- データベースに渡す値- 例外:
SQLException
- UDTの属性値をデータベースに書き込むため、SQLData
オブジェクトによってSQLOutputImpl
オブジェクトが使用されている場合。
-
writeDouble
public void writeDouble(double x) throws SQLException このSQLOutputImpl
オブジェクトにJavaプログラミング言語のdouble
を書き込みます。 ドライバは、これをSQLDOUBLE
に変換してから、データベースに渡します。- 定義:
writeDouble
、インタフェースSQLOutput
- パラメータ:
x
- データベースに渡す値- 例外:
SQLException
- UDTの属性値をデータベースに書き込むため、SQLData
オブジェクトによってSQLOutputImpl
オブジェクトが使用されている場合。
-
writeBigDecimal
public void writeBigDecimal(BigDecimal x) throws SQLException このSQLOutputImpl
オブジェクトにJavaプログラミング言語のjava.math.BigDecimal
オブジェクトを書き込みます。 ドライバは、これをSQLNUMERIC
に変換してから、データベースに渡します。- 定義:
writeBigDecimal
、インタフェースSQLOutput
- パラメータ:
x
- データベースに渡す値- 例外:
SQLException
- UDTの属性値をデータベースに書き込むため、SQLData
オブジェクトによってSQLOutputImpl
オブジェクトが使用されている場合。
-
writeBytes
public void writeBytes(byte[] x) throws SQLException このSQLOutputImpl
オブジェクトにJavaプログラミング言語のbytes
の配列を書き込みます。 ドライバは、これをSQLVARBINARY
またはLONGVARBINARY
に変換してから、データベースに渡します。- 定義:
writeBytes
、インタフェースSQLOutput
- パラメータ:
x
- データベースに渡す値- 例外:
SQLException
- UDTの属性値をデータベースに書き込むため、SQLData
オブジェクトによってSQLOutputImpl
オブジェクトが使用されている場合。
-
writeDate
public void writeDate(Date x) throws SQLException このSQLOutputImpl
オブジェクトにJavaプログラミング言語のjava.sql.Date
オブジェクトを書き込みます。 ドライバは、これをSQLDATE
に変換してから、データベースに渡します。- 定義:
writeDate
、インタフェースSQLOutput
- パラメータ:
x
- データベースに渡す値- 例外:
SQLException
- UDTの属性値をデータベースに書き込むため、SQLData
オブジェクトによってSQLOutputImpl
オブジェクトが使用されている場合。
-
writeTime
public void writeTime(Time x) throws SQLException このSQLOutputImpl
オブジェクトにJavaプログラミング言語のjava.sql.Time
オブジェクトを書き込みます。 ドライバは、これをSQLTIME
に変換してから、データベースに渡します。- 定義:
writeTime
、インタフェースSQLOutput
- パラメータ:
x
- データベースに渡す値- 例外:
SQLException
- UDTの属性値をデータベースに書き込むため、SQLData
オブジェクトによってSQLOutputImpl
オブジェクトが使用されている場合。
-
writeTimestamp
public void writeTimestamp(Timestamp x) throws SQLException このSQLOutputImpl
オブジェクトにJavaプログラミング言語のjava.sql.Timestamp
オブジェクトを書き込みます。 ドライバは、これをSQLTIMESTAMP
に変換してから、データベースに渡します。- 定義:
writeTimestamp
、インタフェースSQLOutput
- パラメータ:
x
- データベースに渡す値- 例外:
SQLException
- UDTの属性値をデータベースに書き込むため、SQLData
オブジェクトによってSQLOutputImpl
オブジェクトが使用されている場合。
-
writeCharacterStream
public void writeCharacterStream(Reader x) throws SQLException このSQLOutputImpl
オブジェクトにUnicode文字ストリームを書き込みます。 ドライバは、必要に応じて、UnicodeからデータベースのCHAR
形式への変換を行います。- 定義:
writeCharacterStream
、インタフェースSQLOutput
- パラメータ:
x
- データベースに渡す値- 例外:
SQLException
- UDTの属性値をデータベースに書き込むため、SQLData
オブジェクトによってSQLOutputImpl
オブジェクトが使用されている場合。
-
writeAsciiStream
public void writeAsciiStream(InputStream x) throws SQLException このSQLOutputImpl
オブジェクトにASCII文字ストリームを書き込みます。 ドライバは、必要に応じて、ASCIIからデータベースのCHAR
形式への変換を行います。- 定義:
writeAsciiStream
、インタフェースSQLOutput
- パラメータ:
x
- データベースに渡す値- 例外:
SQLException
- UDTの属性値をデータベースに書き込むため、SQLData
オブジェクトによってSQLOutputImpl
オブジェクトが使用されている場合。
-
writeBinaryStream
public void writeBinaryStream(InputStream x) throws SQLException このSQLOutputImpl
オブジェクトに未解釈のバイト・ストリームを書き込みます。- 定義:
writeBinaryStream
、インタフェースSQLOutput
- パラメータ:
x
- データベースに渡す値- 例外:
SQLException
- UDTの属性値をデータベースに書き込むため、SQLData
オブジェクトによってSQLOutputImpl
オブジェクトが使用されている場合。
-
writeObject
public void writeObject(SQLData x) throws SQLException 指定されたSQLData
オブジェクトに格納されたデータをストリームに書き込みます。SQLData
オブジェクトがnull
の場合、このメソッドはSQLNULL
をストリームに書き込みます。 そうでない場合は、指定されたオブジェクトのSQLData.writeSQL
メソッドを呼び出します。すると、呼び出されたメソッドによって、オブジェクトの属性がストリームに書き込まれます。SQLData.writeSQ
メソッドの実装は、オブジェクトの各属性を正しい順序で書き込むための適切なSQLOutputImpl.writeXXX
メソッド(複数可)を呼び出します。 属性は、SQLInput
入力ストリームから読み込まれ、ユーザー定義型のSQL定義にリストされたときと同じ順序でSQLOutputImpl
出力ストリームに書き込まれる必要があります。- 定義:
writeObject
、インタフェースSQLOutput
- パラメータ:
x
- SQL構造化型または個別の型のデータを表すオブジェクト- 例外:
SQLException
- UDTの属性値をデータベースに書き込むため、SQLData
オブジェクトによってSQLOutputImpl
オブジェクトが使用されている場合。
-
writeRef
public void writeRef(Ref x) throws SQLException このSQLOutputImpl
オブジェクトにJavaプログラミング言語のRef
オブジェクトを書き込みます。 ドライバは、これを直列化可能なSerialRef
SQLREF
値に変換してから、データベースに渡します。- 定義:
writeRef
、インタフェースSQLOutput
- パラメータ:
x
- SQLREF
値を表すオブジェクト- 例外:
SQLException
- UDTの属性値をデータベースに書き込むため、SQLData
オブジェクトによってSQLOutputImpl
オブジェクトが使用されている場合。
-
writeBlob
public void writeBlob(Blob x) throws SQLException このSQLOutputImpl
オブジェクトにJavaプログラミング言語のBlob
オブジェクトを書き込みます。 ドライバは、これを直列化可能なSerialBlob
SQLBLOB
値に変換してから、データベースに渡します。- 定義:
writeBlob
、インタフェースSQLOutput
- パラメータ:
x
- SQLBLOB
値を表すオブジェクト- 例外:
SQLException
- UDTの属性値をデータベースに書き込むため、SQLData
オブジェクトによってSQLOutputImpl
オブジェクトが使用されている場合。
-
writeClob
public void writeClob(Clob x) throws SQLException このSQLOutputImpl
オブジェクトにJavaプログラミング言語のClob
オブジェクトを書き込みます。 ドライバは、これを直列化可能なSerialClob
SQLCLOB
値に変換してから、データベースに渡します。- 定義:
writeClob
、インタフェースSQLOutput
- パラメータ:
x
- SQLCLOB
値を表すオブジェクト- 例外:
SQLException
- UDTの属性値をデータベースに書き込むため、SQLData
オブジェクトによってSQLOutputImpl
オブジェクトが使用されている場合。
-
writeStruct
public void writeStruct(Struct x) throws SQLException このSQLOutputImpl
オブジェクトにJavaプログラミング言語のStruct
オブジェクトを書き込みます。 ドライバは、この値をSQL構造型に変換してから、データベースに渡します。このメソッドは、SQL構造型がJavaプログラミング言語の
Struct
オブジェクトにマップされている場合(標準マッピング)に使用します。 SQL構造型がJavaプログラミング言語のクラスにカスタム・マップされている場合は、writeObject
メソッドを使用します。- 定義:
writeStruct
、インタフェースSQLOutput
- パラメータ:
x
- SQL構造型の属性を表すオブジェクト- 例外:
SQLException
- UDTの属性値をデータベースに書き込むため、SQLData
オブジェクトによってSQLOutputImpl
オブジェクトが使用されている場合。
-
writeArray
public void writeArray(Array x) throws SQLException このSQLOutputImpl
オブジェクトにJavaプログラミング言語のArray
オブジェクトを書き込みます。 ドライバは、この値を直列化可能なSerialArray
SQLARRAY
値に変換してから、データベースに渡します。- 定義:
writeArray
、インタフェースSQLOutput
- パラメータ:
x
- SQLARRAY
値を表すオブジェクト- 例外:
SQLException
- UDTの属性値をデータベースに書き込むため、SQLData
オブジェクトによってSQLOutputImpl
オブジェクトが使用されている場合。
-
writeURL
public void writeURL(URL url) throws SQLException このSQLOutputImpl
オブジェクトにJavaプログラミング言語のjava.sql.Type.DATALINK
オブジェクトを書き込みます。 ドライバは、この値を直列化可能なSerialDatalink
SQLDATALINK
値に変換してから、データベースに渡します。- 定義:
writeURL
、インタフェースSQLOutput
- パラメータ:
url
- SQLDATALINK
値を表すオブジェクト- 例外:
SQLException
- UDTの属性値をデータベースに書き込むため、SQLData
オブジェクトによってSQLOutputImpl
オブジェクトが使用されている場合。
-
writeNString
public void writeNString(String x) throws SQLException 次の属性をJavaプログラミング言語のString
としてストリームに書き込みます。 ストリームに送るときに、ドライバはこれをNCHAR
、NVARCHAR
、またはLONGNVARCHAR
値(ドライバのNVARCHAR
値に関する制限に関する引数のサイズに依存)に変換します。- 定義:
writeNString
、インタフェースSQLOutput
- パラメータ:
x
- データベースに渡す値- 例外:
SQLException
- データベース・アクセス・エラーが発生した場合- 導入されたバージョン:
- 1.6
-
writeNClob
public void writeNClob(NClob x) throws SQLException SQLNCLOB
値をストリームに書き込みます。- 定義:
writeNClob
、インタフェースSQLOutput
- パラメータ:
x
- SQLNCLOB
値のデータを表すNClob
オブジェクト- 例外:
SQLException
- データベース・アクセス・エラーが発生した場合- 導入されたバージョン:
- 1.6
-
writeRowId
public void writeRowId(RowId x) throws SQLException SQLROWID
値をストリームに書き込みます。- 定義:
writeRowId
、インタフェースSQLOutput
- パラメータ:
x
- SQLROWID
値のデータを表すRowId
オブジェクト- 例外:
SQLException
- データベース・アクセス・エラーが発生した場合- 導入されたバージョン:
- 1.6
-
writeSQLXML
public void writeSQLXML(SQLXML x) throws SQLException SQLXML
値をストリームに書き込みます。- 定義:
writeSQLXML
、インタフェースSQLOutput
- パラメータ:
x
- SQLXML
値のデータを表すSQLXML
オブジェクト- 例外:
SQLException
- データベース・アクセス・エラーが発生した場合- 導入されたバージョン:
- 1.6
-