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

クラスSerialClob

java.lang.Object
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オブジェクトを構築します。
  • メソッドのサマリー

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

    クラス java.lang.Objectで宣言されたメソッド

    finalize, getClass, notify, notifyAll, toString, wait, wait, wait
  • コンストラクタの詳細

    • 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
    • hashCode

      public int hashCode()
      このSerialClobのハッシュ・コードを返します。
      オーバーライド:
      hashCode 、クラス:  Object
      戻り値:
      このオブジェクトのハッシュ・コード値
      関連項目:
      Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)
    • clone

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