モジュール java.sql.rowset
パッケージ 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 writeArray​(Array x)
      このSQLOutputImplオブジェクトにJavaプログラミング言語のArrayオブジェクトを書き込みます。
      void writeAsciiStream​(InputStream x)
      このSQLOutputImplオブジェクトにASCII文字ストリームを書き込みます。
      void writeBigDecimal​(BigDecimal x)
      このSQLOutputImplオブジェクトにJavaプログラミング言語のjava.math.BigDecimalオブジェクトを書き込みます。
      void writeBinaryStream​(InputStream x)
      このSQLOutputImplオブジェクトに未解釈のバイト・ストリームを書き込みます。
      void writeBlob​(Blob x)
      この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 writeCharacterStream​(Reader x)
      このSQLOutputImplオブジェクトにUnicode文字ストリームを書き込みます。
      void writeClob​(Clob x)
      このSQLOutputImplオブジェクトにJavaプログラミング言語のClobオブジェクトを書き込みます。
      void writeDate​(Date x)
      この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)
      SQL NCLOB値をストリームに書き込みます。
      void writeNString​(String x)
      次の属性をJavaプログラミング言語のStringとしてストリームに書き込みます。
      void writeObject​(SQLData x)
      指定されたSQLDataオブジェクトに格納されたデータをストリームに書き込みます。
      void writeRef​(Ref x)
      このSQLOutputImplオブジェクトにJavaプログラミング言語のRefオブジェクトを書き込みます。
      void writeRowId​(RowId x)
      SQL ROWID値をストリームに書き込みます。
      void writeShort​(short x)
      このSQLOutputImplオブジェクトにJavaプログラミング言語のshortを書き込みます。
      void writeSQLXML​(SQLXML x)
      SQL XML値をストリームに書き込みます。
      void writeString​(String x)
      このSQLOutputImplオブジェクトにJavaプログラミング言語のStringを書き込みます。
      void writeStruct​(Struct x)
      このSQLOutputImplオブジェクトにJavaプログラミング言語のStructオブジェクトを書き込みます。
      void writeTime​(Time x)
      このSQLOutputImplオブジェクトにJavaプログラミング言語のjava.sql.Timeオブジェクトを書き込みます。
      void writeTimestamp​(Timestamp x)
      このSQLOutputImplオブジェクトにJavaプログラミング言語のjava.sql.Timestampオブジェクトを書き込みます。
      void writeURL​(URL url)
      このSQLOutputImplオブジェクトにJavaプログラミング言語のjava.sql.Type.DATALINKオブジェクトを書き込みます。
    • コンストラクタの詳細

      • 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