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

クラスSerialClob

  • すべての実装されたインタフェース:
    Serializable, Cloneable, Clob

    public class SerialClob
    extends Object
    implements Clob, Serializable, Cloneable
    Javaプログラミング言語でのSQL CLOB値の直列化マッピングです。

    SerialClobクラスは、Clobオブジェクトからインスタンスを作成するためのコンストラクタを提供します。 Clobオブジェクトは、SerialClobオブジェクトを構築する前に、クライアントにSQL CLOB値のデータを渡す必要があります。 SQL CLOB値のデータは、クライアント上で、Unicode文字のストリームとして生成されます。

    SerialClobメソッドは、SerialClobオブジェクトから部分文字列を取得したり、文字パターンの開始位置を検索したりする機能を提供します。

    スレッドの安全性

    SerialClobは、複数の並行スレッドによる使用において安全ではありません。 複数のスレッドで使用する場合は、適切な同期処理によってSerialClobへのアクセスを制御するようにしてください。

    導入されたバージョン:
    1.5
    関連項目:
    直列化された形式
    • コンストラクタのサマリー

      コンストラクタ 
      コンストラクタ 説明
      SerialClob​(char[] ch)
      指定されたchar配列の直列化されたバージョンであるSerialClobオブジェクトを構築します。
      SerialClob​(Clob clob)
      指定されたClobオブジェクトの直列化されたバージョンであるSerialClobオブジェクトを構築します。
    • メソッドのサマリー

      修飾子と型 メソッド 説明
      Object clone()
      このSerialClobのクローンを返します。
      boolean equals​(Object obj)
      このSerialClobを指定されたオブジェクトと比較します。
      void free()
      このメソッドは、SerialClobオブジェクトを解放し、保持しているリソースを解放します。
      InputStream getAsciiStream()
      このSerialClobオブジェクトによって指定されたCLOB値をASCIIストリームとして取得します。
      Reader getCharacterStream()
      このSerialClobオブジェクトをUnicode文字の入力ストリームとして返します。
      Reader getCharacterStream​(long pos, long length)
      SerialClob値の一部(文字位置posから長さlength文字分)を格納したReaderオブジェクトを返します。
      String getSubString​(long pos, int length)
      このSerialClobオブジェクトに格納された、指定の位置から開始され指定の文字数分続く部分文字列のコピーを返します。
      int hashCode()
      このSerialClobのハッシュ・コードを返します。
      long length()
      このSerialClobオブジェクトの文字配列の文字数を取得します。
      long position​(String searchStr, long start)
      このSerialClobオブジェクト内で、指定のStringオブジェクトが開始される位置を返します。検索は指定位置から開始されます。
      long position​(Clob searchStr, long start)
      このSerialClobオブジェクト内で、指定のClobシグニチャが開始される位置を返します。検索は指定位置から開始されます。
      OutputStream setAsciiStream​(long pos)
      このSerialClobオブジェクトが表すCLOB値へのASCII文字の書込みに使用するストリームを取得します。ストリームはposの位置から開始します。
      Writer setCharacterStream​(long pos)
      このSerialClobオブジェクトが表すCLOB値へのUnicode文字のストリームの書込みに使用する、posの位置のストリームを取得します。
      int setString​(long pos, String str)
      このSerialClobオブジェクトが表すCLOB値へ、指定されたJava Stringposの位置に書き込みます。
      int setString​(long pos, String str, int offset, int length)
      strの文字offsetから始まるlen個の文字を、このClobが表すCLOB値に書き込みます。
      void truncate​(long length)
      このSerialClobオブジェクトが表すCLOB値をlen文字の長さに切り詰めます。
    • コンストラクタの詳細

      • SerialClob

        public SerialClob​(char[] ch)
                   throws SerialException,
                          SQLException
        指定されたchar配列の直列化されたバージョンであるSerialClobオブジェクトを構築します。

        新しいSerialClobオブジェクトは、char配列のデータで初期化されます。このため、未接続のRowSetオブジェクトは、データ・ソースに手を加えずに直列化されたClobオブジェクトを作成できます。

        パラメータ:
        ch - 直列化されるClobオブジェクトを表すchar配列
        例外:
        SerialException - 直列化でエラーが発生した場合
        SQLException - SQLエラーが発生した場合
      • SerialClob

        public SerialClob​(Clob clob)
                   throws SerialException,
                          SQLException
        指定されたClobオブジェクトの直列化されたバージョンであるSerialClobオブジェクトを構築します。

        新しいSerialClobオブジェクトは、Clobオブジェクトのデータで初期化されます。このため、Clobオブジェクトは、あらかじめデータベースからクライアントへSQL CLOB値のデータを渡しておく必要があります。 そうしないと、新しいSerialClobオブジェクトはデータを持たないオブジェクトになります。

        注: このコンストラクタに指定されたClobオブジェクトは、Clob.getCharacterStream()メソッドおよびClob.getAsciiStreamメソッドに対してnull以外を返す必要がある。 このSerialClobコンストラクタはこのインスタンスのClobオブジェクトを直列化できず、SQLExceptionオブジェクトをスローします。

        パラメータ:
        clob - このSerialClobオブジェクトの構築に使用されるClobオブジェクト。null以外
        例外:
        SerialException - 直列化でエラーが発生した場合
        SQLException - CLOBの取込み時にSQLエラーが発生した場合、Clobオブジェクトがnullの場合、またはClobClob.getCharacterStream()メソッドまたはClob.getAsciiStream()メソッドのいずれかがnullを返した場合
        関連項目:
        Clob
    • メソッドの詳細

      • length

        public long length()
                    throws SerialException
        このSerialClobオブジェクトの文字配列の文字数を取得します。
        定義:
        length、インタフェース: Clob
        戻り値:
        このSerialClobオブジェクトの文字配列の文字数を示すlong
        例外:
        SerialException - エラーが発生した場合、またはこのオブジェクトでfreeが以前呼び出された場合
      • getCharacterStream

        public Reader getCharacterStream()
                                  throws SerialException
        このSerialClobオブジェクトをUnicode文字の入力ストリームとして返します。 関連メソッドgetAsciiStreamとは異なり、SerialClobオブジェクトがClobオブジェクトによって作成されたか、またはchar配列によって作成されたかに関係なく、ストリームが生成されます。
        定義:
        getCharacterStream、インタフェース: Clob
        戻り値:
        このSerialClobオブジェクトのデータを格納するjava.io.Readerオブジェクト
        例外:
        SerialException - エラーが発生した場合、またはこのオブジェクトでfreeが以前呼び出された場合
        関連項目:
        Clob.setCharacterStream(long)
      • getAsciiStream

        public InputStream getAsciiStream()
                                   throws SerialException,
                                          SQLException
        このSerialClobオブジェクトによって指定されたCLOB値をASCIIストリームとして取得します。 このメソッドは、このSerialClobオブジェクトがClobオブジェクトによってインスタンス化されている場合に、getAsciiStream呼出しを配下のClobオブジェクトに転送します。 このSerialClobオブジェクトがchar配列によってインスタンス化されている場合はSerialExceptionオブジェクトがスローされます。
        定義:
        getAsciiStream、インタフェース: Clob
        戻り値:
        このSerialClobオブジェクトのデータを格納するjava.io.InputStreamオブジェクト
        例外:
        SerialException - このSerialClobオブジェクトがClobオブジェクトでインスタンス化されなかった場合、またはこのオブジェクトでfreeが以前呼び出された場合
        SQLException - このSerialClobオブジェクトの作成に使用されたClobオブジェクトによって表現されるCLOB値にアクセスするときにエラーが発生した場合
        関連項目:
        Clob.setAsciiStream(long)
      • getSubString

        public String getSubString​(long pos,
                                   int length)
                            throws SerialException
        このSerialClobオブジェクトに格納された、指定の位置から開始され指定の文字数分続く部分文字列のコピーを返します。
        定義:
        getSubString、インタフェース: Clob
        パラメータ:
        pos - コピーされる部分文字列内の最初の文字の位置。SerialClobオブジェクトの最初の文字の位置は11以上でなければならない。また、開始位置と部分文字列の長さの和は、このSerialClobオブジェクトの長さより短くなければならない
        length - 返される部分文字列内の文字数。このSerialClobオブジェクトの長さ以下でなければならない。また、開始位置と部分文字列の長さの和は、このSerialClobオブジェクトの長さより短くなければならない
        戻り値:
        このSerialClobオブジェクトの部分文字列(指定の位置から指定された文字数分続く)を格納するStringオブジェクト
        例外:
        SerialException - 引数のいずれかが範囲外である場合、またはこのオブジェクトでfreeが以前呼び出された場合
      • position

        public long position​(String searchStr,
                             long start)
                      throws SerialException,
                             SQLException
        このSerialClobオブジェクト内で、指定のStringオブジェクトが開始される位置を返します。検索は指定位置から開始されます。 パターンが見つからない場合、このメソッドは-1を返します。
        定義:
        position、インタフェース: Clob
        パラメータ:
        searchStr - 検索対象のStringオブジェクト
        start - このSerialClobオブジェクト内で、検索を開始する位置。最初の位置は11以上かつこのSerialClobオブジェクトの長さ以下でなければならない
        戻り値:
        指定のStringオブジェクトの開始位置。検索は指定位置から開始される。Stringオブジェクトが見つからない場合や開始位置が範囲外にある場合は-1。戻り値の位置番号は1から開始される
        例外:
        SerialException - このオブジェクトでfreeメソッドが以前呼び出された場合
        SQLException - データベースからClob値にアクセスするときにエラーが発生した場合。
      • position

        public long position​(Clob searchStr,
                             long start)
                      throws SerialException,
                             SQLException
        このSerialClobオブジェクト内で、指定のClobシグニチャが開始される位置を返します。検索は指定位置から開始されます。 パターンが見つからない場合、このメソッドは-1を返します。
        定義:
        position、インタフェース: Clob
        パラメータ:
        searchStr - 検索対象のClobオブジェクト
        start - このSerialClobオブジェクト内で、検索を開始する位置。最初の位置は11以上かつこのSerialClobオブジェクトの長さ以下でなければならない
        戻り値:
        このSerialClobオブジェクト内で、指定のClobオブジェクトが開始される位置。指定の開始位置またはその直後
        例外:
        SerialException - Clobシグネチャの検索時にエラーが発生した場合、またはこのオブジェクトでfreeメソッドが以前呼び出された場合
        SQLException - データベースからClob値にアクセスするときにエラーが発生した場合
      • setString

        public int setString​(long pos,
                             String str)
                      throws SerialException
        このSerialClobオブジェクトが表すCLOB値へ、指定されたJava Stringposの位置に書き込みます。
        定義:
        setString、インタフェース: Clob
        パラメータ:
        pos - このSerialClobオブジェクトが表すCLOB値への書込みを開始する位置。最初の位置は11以上かつ、このSerialClobオブジェクトの長さ以下でなければならない
        str - このSerialClobオブジェクトが表すCLOB値へ書き込まれる文字列
        戻り値:
        書き込まれる文字数
        例外:
        SerialException - CLOB値にアクセスするときにエラーが発生した場合、設定された位置が無効な場合、設定されたオフセット値が無効な場合、書き込まれるバイト数がSerialClobの長さを超えている場合、長さとオフセットを合わせた値がClobバッファより大きい場合、またはこのオブジェクトでfreeメソッドが以前呼び出された場合
      • setString

        public int setString​(long pos,
                             String str,
                             int offset,
                             int length)
                      throws SerialException
        strの文字offsetから始まるlen個の文字を、このClobが表すCLOB値に書き込みます。
        定義:
        setString、インタフェース: Clob
        パラメータ:
        pos - このSerialClobオブジェクトが表すCLOB値への書込みを開始する位置。最初の位置は11以上かつ、このSerialClobオブジェクトの長さ以下でなければならない
        str - このClobオブジェクトが表すCLOB値へ書き込まれる文字列
        offset - 書き込まれる文字の読込みを開始するstrへのオフセット
        length - 書き込まれる文字数
        戻り値:
        書き込まれる文字数
        例外:
        SerialException - CLOB値にアクセスするときにエラーが発生した場合、設定された位置が無効な場合、設定されたオフセット値が無効な場合、書き込まれるバイト数がSerialClobの長さを超えている場合、長さとオフセットを合わせた値がClobバッファより大きい場合、またはこのオブジェクトでfreeメソッドが以前呼び出された場合
      • setAsciiStream

        public OutputStream setAsciiStream​(long pos)
                                    throws SerialException,
                                           SQLException
        このSerialClobオブジェクトが表すCLOB値へのASCII文字の書込みに使用するストリームを取得します。ストリームはposの位置から開始します。 このメソッドは、このSerialClobオブジェクトがClobオブジェクトによってインスタンス化されている場合に、setAsciiStream()呼出しを配下のClobオブジェクトに転送します。 このSerialClobオブジェクトがchar配列によってインスタンス化されている場合はSerialExceptionオブジェクトがスローされます。
        定義:
        setAsciiStream、インタフェース: Clob
        パラメータ:
        pos - CLOBオブジェクトへの書込みを開始する位置
        戻り値:
        ASCII符号化文字が書き込まれるストリーム
        例外:
        SerialException - SerialClobがClobオブジェクトでインスタンス化されていない場合、またはこのオブジェクトでfreeメソッドが以前呼び出された場合
        SQLException - CLOB値にアクセスするときにエラーが発生した場合
        関連項目:
        getAsciiStream()
      • setCharacterStream

        public Writer setCharacterStream​(long pos)
                                  throws SerialException,
                                         SQLException
        このSerialClobオブジェクトが表すCLOB値へのUnicode文字のストリームの書込みに使用する、posの位置のストリームを取得します。 このメソッドは、このSerialClobオブジェクトがClobオブジェクトによってインスタンス化されている場合に、setCharacterStream()呼出しを配下のClobオブジェクトに転送します。 このSerialClobオブジェクトがchar配列によってインスタンス化されている場合はSerialExceptionがスローされます。
        定義:
        setCharacterStream、インタフェース: Clob
        パラメータ:
        pos - CLOB値への書込みを開始する位置
        戻り値:
        Unicode符号化文字が書き込まれるストリーム
        例外:
        SerialException - SerialClobがClobオブジェクトでインスタンス化されていない場合、またはこのオブジェクトでfreeメソッドが以前呼び出された場合
        SQLException - CLOB値にアクセスするときにエラーが発生した場合
        関連項目:
        getCharacterStream()
      • truncate

        public void truncate​(long length)
                      throws SerialException
        このSerialClobオブジェクトが表すCLOB値をlen文字の長さに切り詰めます。

        SerialClobオブジェクトの長さを0に切り詰めるとそのコンテンツが消去されます。

        定義:
        truncate、インタフェース: Clob
        パラメータ:
        length - CLOB値が切り詰められる長さ(バイト単位)
        例外:
        SerialException - CLOB値へのアクセス時にエラーが発生した場合、またはこのオブジェクトでfreeメソッドが以前呼び出された場合
      • getCharacterStream

        public Reader getCharacterStream​(long pos,
                                         long length)
                                  throws SQLException
        SerialClob値の一部(文字位置posから長さlength文字分)を格納したReaderオブジェクトを返します。
        定義:
        getCharacterStream、インタフェース: Clob
        パラメータ:
        pos - 取得する部分値の最初の文字までのオフセット。 SerialClob内で最初の文字の位置は1。
        length - 取得する部分値の長さ(文字数)。
        戻り値:
        SerialClob値の一部を読み取ることのできるReader
        例外:
        SQLException - posが1より小さい場合、posがSerialClob内の文字数より大きい場合、またはpos+lengthがSerialClob内の文字数より大きい場合
        SerialException - このオブジェクトでfreeメソッドが以前呼び出された場合
        導入されたバージョン:
        1.6
      • free

        public void free()
                  throws SQLException
        このメソッドは、SerialClobオブジェクトを解放し、保持しているリソースを解放します。 freeメソッドが一度呼び出されたあとは、オブジェクトは無効になります。

        freeを複数回呼び出した場合、2回目以降のfree呼出しは何も行わないものとして扱われます。

        定義:
        free、インタフェース: Clob
        例外:
        SQLException - Clobのリソースの解放時にエラーが発生した場合
        導入されたバージョン:
        1.6
      • equals

        public boolean equals​(Object obj)
        このSerialClobを指定されたオブジェクトと比較します。 引数がnullではなく、このオブジェクトと同じ文字シーケンスを表す SerialClobオブジェクトである場合にのみ、結果は trueになります。
        オーバーライド:
        equals 、クラス:  Object
        パラメータ:
        obj - このSerialClobと比較するオブジェクト
        戻り値:
        指定されたオブジェクトがこのSerialClobに等しいSerialClobを表す場合はtrue、それ以外の場合はfalse
        関連項目:
        Object.hashCode()HashMap
      • clone

        public Object clone()
        このSerialClobのクローンを返します。 コピーは、このSerialClobオブジェクトの内部文字配列のクローンへの参照を保持するのであって、元の内部文字配列への参照を保持するわけではありません。 ベースとなるClobオブジェクトはnullに設定されます。
        オーバーライド:
        clone、クラス: Object
        戻り値:
        このSerialClobのクローン
        関連項目:
        Cloneable