モジュール java.sql.rowset
パッケージ javax.sql.rowset.serial

クラスSQLOutputImpl

java.lang.Object
javax.sql.rowset.serial.SQLOutputImpl
すべての実装されたインタフェース:
SQLOutput

public class SQLOutputImpl extends Object implements 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
    この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
    SQL NCLOB値をストリームに書き込みます。
    void
    次の属性をJavaプログラミング言語のStringとしてストリームに書き込みます。
    void
    指定されたSQLDataオブジェクトに格納されたデータをストリームに書き込みます。
    void
    writeRef​(Ref x)
    このSQLOutputImplオブジェクトにJavaプログラミング言語のRefオブジェクトを書き込みます。
    void
    SQL ROWID値をストリームに書き込みます。
    void
    writeShort​(short x)
    このSQLOutputImplオブジェクトにJavaプログラミング言語のshortを書き込みます。
    void
    SQL XML値をストリームに書き込みます。
    void
    このSQLOutputImplオブジェクトにJavaプログラミング言語のStringを書き込みます。
    void
    このSQLOutputImplオブジェクトにJavaプログラミング言語のStructオブジェクトを書き込みます。
    void
    このSQLOutputImplオブジェクトにJavaプログラミング言語のjava.sql.Timeオブジェクトを書き込みます。
    void
    このSQLOutputImplオブジェクトにJavaプログラミング言語のjava.sql.Timestampオブジェクトを書き込みます。
    void
    writeURL​(URL url)
    この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またはmapnull値の場合
  • メソッドの詳細

    • writeString

      public void writeString(String x) throws SQLException
      このSQLOutputImplオブジェクトにJavaプログラミング言語のStringを書き込みます。 ドライバは、これをSQL CHARVARCHAR、またはLONGVARCHARに変換してから、データベースに渡します。
      定義:
      writeString、インタフェース: SQLOutput
      パラメータ:
      x - データベースに渡す値
      例外:
      SQLException - UDTの属性値をデータベースに書き込むため、SQLDataオブジェクトによってSQLOutputImplオブジェクトが使用されている場合。
    • writeBoolean

      public void writeBoolean(boolean x) throws SQLException
      このSQLOutputImplオブジェクトにJavaプログラミング言語のbooleanを書き込みます。 ドライバは、これをSQL BITに変換してから、データベースに渡します。
      定義:
      writeBoolean、インタフェース: SQLOutput
      パラメータ:
      x - データベースに渡す値
      例外:
      SQLException - UDTの属性値をデータベースに書き込むため、SQLDataオブジェクトによってSQLOutputImplオブジェクトが使用されている場合。
    • writeByte

      public void writeByte(byte x) throws SQLException
      このSQLOutputImplオブジェクトにJavaプログラミング言語のbyteを書き込みます。 ドライバは、これをSQL BITに変換してから、データベースに渡します。
      定義:
      writeByte、インタフェース: SQLOutput
      パラメータ:
      x - データベースに渡す値
      例外:
      SQLException - UDTの属性値をデータベースに書き込むため、SQLDataオブジェクトによってSQLOutputImplオブジェクトが使用されている場合。
    • writeShort

      public void writeShort(short x) throws SQLException
      このSQLOutputImplオブジェクトにJavaプログラミング言語のshortを書き込みます。 ドライバは、これをSQL SMALLINTに変換してから、データベースに渡します。
      定義:
      writeShort、インタフェース: SQLOutput
      パラメータ:
      x - データベースに渡す値
      例外:
      SQLException - UDTの属性値をデータベースに書き込むため、SQLDataオブジェクトによってSQLOutputImplオブジェクトが使用されている場合。
    • writeInt

      public void writeInt(int x) throws SQLException
      このSQLOutputImplオブジェクトにJavaプログラミング言語のintを書き込みます。 ドライバは、これをSQL INTEGERに変換してから、データベースに渡します。
      定義:
      writeInt、インタフェース: SQLOutput
      パラメータ:
      x - データベースに渡す値
      例外:
      SQLException - UDTの属性値をデータベースに書き込むため、SQLDataオブジェクトによってSQLOutputImplオブジェクトが使用されている場合。
    • writeLong

      public void writeLong(long x) throws SQLException
      このSQLOutputImplオブジェクトにJavaプログラミング言語のlongを書き込みます。 ドライバは、これをSQL BIGINTに変換してから、データベースに渡します。
      定義:
      writeLong、インタフェース: SQLOutput
      パラメータ:
      x - データベースに渡す値
      例外:
      SQLException - UDTの属性値をデータベースに書き込むため、SQLDataオブジェクトによってSQLOutputImplオブジェクトが使用されている場合。
    • writeFloat

      public void writeFloat(float x) throws SQLException
      このSQLOutputImplオブジェクトにJavaプログラミング言語のfloatを書き込みます。 ドライバは、これをSQL REALに変換してから、データベースに渡します。
      定義:
      writeFloat、インタフェース: SQLOutput
      パラメータ:
      x - データベースに渡す値
      例外:
      SQLException - UDTの属性値をデータベースに書き込むため、SQLDataオブジェクトによってSQLOutputImplオブジェクトが使用されている場合。
    • writeDouble

      public void writeDouble(double x) throws SQLException
      このSQLOutputImplオブジェクトにJavaプログラミング言語のdoubleを書き込みます。 ドライバは、これをSQL DOUBLEに変換してから、データベースに渡します。
      定義:
      writeDouble、インタフェース: SQLOutput
      パラメータ:
      x - データベースに渡す値
      例外:
      SQLException - UDTの属性値をデータベースに書き込むため、SQLDataオブジェクトによってSQLOutputImplオブジェクトが使用されている場合。
    • writeBigDecimal

      public void writeBigDecimal(BigDecimal x) throws SQLException
      このSQLOutputImplオブジェクトにJavaプログラミング言語のjava.math.BigDecimalオブジェクトを書き込みます。 ドライバは、これをSQL NUMERICに変換してから、データベースに渡します。
      定義:
      writeBigDecimal、インタフェース: SQLOutput
      パラメータ:
      x - データベースに渡す値
      例外:
      SQLException - UDTの属性値をデータベースに書き込むため、SQLDataオブジェクトによってSQLOutputImplオブジェクトが使用されている場合。
    • writeBytes

      public void writeBytes(byte[] x) throws SQLException
      このSQLOutputImplオブジェクトにJavaプログラミング言語のbytesの配列を書き込みます。 ドライバは、これをSQL VARBINARYまたはLONGVARBINARYに変換してから、データベースに渡します。
      定義:
      writeBytes、インタフェース: SQLOutput
      パラメータ:
      x - データベースに渡す値
      例外:
      SQLException - UDTの属性値をデータベースに書き込むため、SQLDataオブジェクトによってSQLOutputImplオブジェクトが使用されている場合。
    • writeDate

      public void writeDate(Date x) throws SQLException
      このSQLOutputImplオブジェクトにJavaプログラミング言語のjava.sql.Dateオブジェクトを書き込みます。 ドライバは、これをSQL DATEに変換してから、データベースに渡します。
      定義:
      writeDate、インタフェース: SQLOutput
      パラメータ:
      x - データベースに渡す値
      例外:
      SQLException - UDTの属性値をデータベースに書き込むため、SQLDataオブジェクトによってSQLOutputImplオブジェクトが使用されている場合。
    • writeTime

      public void writeTime(Time x) throws SQLException
      このSQLOutputImplオブジェクトにJavaプログラミング言語のjava.sql.Timeオブジェクトを書き込みます。 ドライバは、これをSQL TIMEに変換してから、データベースに渡します。
      定義:
      writeTime、インタフェース: SQLOutput
      パラメータ:
      x - データベースに渡す値
      例外:
      SQLException - UDTの属性値をデータベースに書き込むため、SQLDataオブジェクトによってSQLOutputImplオブジェクトが使用されている場合。
    • writeTimestamp

      public void writeTimestamp(Timestamp x) throws SQLException
      このSQLOutputImplオブジェクトにJavaプログラミング言語のjava.sql.Timestampオブジェクトを書き込みます。 ドライバは、これをSQL TIMESTAMPに変換してから、データベースに渡します。
      定義:
      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の場合、このメソッドはSQL NULLをストリームに書き込みます。 そうでない場合は、指定されたオブジェクトの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 SQL REF値に変換してから、データベースに渡します。
      定義:
      writeRef、インタフェース: SQLOutput
      パラメータ:
      x - SQL REF値を表すオブジェクト
      例外:
      SQLException - UDTの属性値をデータベースに書き込むため、SQLDataオブジェクトによってSQLOutputImplオブジェクトが使用されている場合。
    • writeBlob

      public void writeBlob(Blob x) throws SQLException
      このSQLOutputImplオブジェクトにJavaプログラミング言語のBlobオブジェクトを書き込みます。 ドライバは、これを直列化可能なSerialBlob SQL BLOB値に変換してから、データベースに渡します。
      定義:
      writeBlob、インタフェース: SQLOutput
      パラメータ:
      x - SQL BLOB値を表すオブジェクト
      例外:
      SQLException - UDTの属性値をデータベースに書き込むため、SQLDataオブジェクトによってSQLOutputImplオブジェクトが使用されている場合。
    • writeClob

      public void writeClob(Clob x) throws SQLException
      このSQLOutputImplオブジェクトにJavaプログラミング言語のClobオブジェクトを書き込みます。 ドライバは、これを直列化可能なSerialClob SQL CLOB値に変換してから、データベースに渡します。
      定義:
      writeClob、インタフェース: SQLOutput
      パラメータ:
      x - SQL CLOB値を表すオブジェクト
      例外:
      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 SQL ARRAY値に変換してから、データベースに渡します。
      定義:
      writeArray、インタフェース: SQLOutput
      パラメータ:
      x - SQL ARRAY値を表すオブジェクト
      例外:
      SQLException - UDTの属性値をデータベースに書き込むため、SQLDataオブジェクトによってSQLOutputImplオブジェクトが使用されている場合。
    • writeURL

      public void writeURL(URL url) throws SQLException
      このSQLOutputImplオブジェクトにJavaプログラミング言語のjava.sql.Type.DATALINKオブジェクトを書き込みます。 ドライバは、この値を直列化可能なSerialDatalink SQL DATALINK値に変換してから、データベースに渡します。
      定義:
      writeURL、インタフェース: SQLOutput
      パラメータ:
      url - SQL DATALINK値を表すオブジェクト
      例外:
      SQLException - UDTの属性値をデータベースに書き込むため、SQLDataオブジェクトによってSQLOutputImplオブジェクトが使用されている場合。
    • writeNString

      public void writeNString(String x) throws SQLException
      次の属性をJavaプログラミング言語のStringとしてストリームに書き込みます。 ストリームに送るときに、ドライバはこれをNCHARNVARCHAR、またはLONGNVARCHAR値(ドライバのNVARCHAR値に関する制限に関する引数のサイズに依存)に変換します。
      定義:
      writeNString、インタフェース: SQLOutput
      パラメータ:
      x - データベースに渡す値
      例外:
      SQLException - データベース・アクセス・エラーが発生した場合
      導入されたバージョン:
      1.6
    • writeNClob

      public void writeNClob(NClob x) throws SQLException
      SQL NCLOB値をストリームに書き込みます。
      定義:
      writeNClob、インタフェース: SQLOutput
      パラメータ:
      x - SQL NCLOB値のデータを表すNClobオブジェクト
      例外:
      SQLException - データベース・アクセス・エラーが発生した場合
      導入されたバージョン:
      1.6
    • writeRowId

      public void writeRowId(RowId x) throws SQLException
      SQL ROWID値をストリームに書き込みます。
      定義:
      writeRowId、インタフェース: SQLOutput
      パラメータ:
      x - SQL ROWID値のデータを表すRowIdオブジェクト
      例外:
      SQLException - データベース・アクセス・エラーが発生した場合
      導入されたバージョン:
      1.6
    • writeSQLXML

      public void writeSQLXML(SQLXML x) throws SQLException
      SQL XML値をストリームに書き込みます。
      定義:
      writeSQLXML、インタフェース: SQLOutput
      パラメータ:
      x - SQL XML値のデータを表すSQLXMLオブジェクト
      例外:
      SQLException - データベース・アクセス・エラーが発生した場合
      導入されたバージョン:
      1.6