JavaTM Platform
Standard Ed. 6

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(char[] ch)
          指定された char 配列の直列化されたバージョンである SerialClob オブジェクトを構築します。
SerialClob(Clob clob)
          指定された Clob オブジェクトの直列化されたバージョンである SerialClob オブジェクトを構築します。
 
メソッドの概要
 void free()
          このメソッドは、Clob オブジェクトを解放して、保持されているリソースを解放します。
 InputStream getAsciiStream()
          この SerialClob オブジェクトによって指定された CLOB 値を ASCII ストリームとして取得します。
 Reader getCharacterStream()
          この SerialClob オブジェクトを Unicode 文字の入力ストリームとして返します。
 Reader getCharacterStream(long pos, long length)
          Clob 値の一部 (文字位置 pos から長さ length 文字分) を格納した Reader オブジェクトを返します。
 String getSubString(long pos, int length)
          この SerialClob オブジェクトに格納された、指定の位置から開始され指定の文字数分続く部分文字列のコピーを返します。
 long length()
          この SerialClob オブジェクトの文字配列の文字数を取得します。
 long position(Clob searchStr, long start)
          この SerialClob オブジェクト内で、指定の Clob シグニチャーが開始される位置を返します。
 long position(String searchStr, long start)
          この SerialClob オブジェクト内で、指定の String オブジェクトが開始される位置を返します。
 OutputStream setAsciiStream(long pos)
          この SerialClob オブジェクトが表す CLOB 値へ ASCII 文字の書き込みに使用するストリームを取得します。
 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)
          この Clob が表す CLOB 値へ、offset 文字から始まる strlen 文字を書き込みます。
 void truncate(long length)
          この SerialClob オブジェクトが表す CLOB 値を len 文字の長さに切り詰めます。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, 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 オブジェクトの文字配列の文字数を取得します。

定義:
インタフェース Clob 内の length
戻り値:
この SerialClob オブジェクトの文字配列の 文字数を示す long
例外:
SerialException - エラーが発生した場合

getCharacterStream

public Reader getCharacterStream()
                          throws SerialException
この SerialClob オブジェクトを Unicode 文字の入力ストリームとして返します。関連メソッド getAsciiStream とは異なり、SerialClob オブジェクトが Clob オブジェクトによって作成されたか、または char 配列によって作成されたかに関係なく、ストリームが生成されます。

定義:
インタフェース Clob 内の getCharacterStream
戻り値:
この SerialClob オブジェクトのデータを格納する java.io.Reader オブジェクト
例外:
SerialException - エラーが発生した場合
関連項目:
Clob.setCharacterStream(long)

getAsciiStream

public InputStream getAsciiStream()
                           throws SerialException,
                                  SQLException
この SerialClob オブジェクトによって指定された CLOB 値を ASCII ストリームとして取得します。このメソッドは、この SerialClob オブジェクトが Clob オブジェクトによってインスタンス化されている場合に、getAsciiStream 呼び出しを配下の Clob オブジェクトに転送します。この SerialClob オブジェクトが char 配列によってインスタンス化されている場合は SerialException オブジェクトがスローされます。

定義:
インタフェース Clob 内の getAsciiStream
戻り値:
この SerialClob オブジェクトのデータを格納する java.io.InputStream オブジェクト
例外:
SerialException - この SerialClob オブジェクトが Clob オブジェクトによってインスタンス化されていない場合
SQLException - この SerialClob オブジェクトの作成に使用された Clob オブジェクトによって表現される Clob 値に アクセスするときにエラーが発生した場合
関連項目:
Clob.setAsciiStream(long)

getSubString

public String getSubString(long pos,
                           int length)
                    throws SerialException
この SerialClob オブジェクトに格納された、指定の位置から開始され指定の文字数分続く部分文字列のコピーを返します。

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

position

public long position(String searchStr,
                     long start)
              throws SerialException,
                     SQLException
この SerialClob オブジェクト内で、指定の String オブジェクトが開始される位置を返します。 検索は指定位置から開始されます。パターンが見つからない場合、このメソッドは -1 を返します。

定義:
インタフェース Clob 内の position
パラメータ:
searchStr - 検索対象の String オブジェクト
start - この SerialClob オブジェクト内で、 検索を開始する位置。最初の位置は 11 以上かつ この SerialClob オブジェクトの長さ以下でなければならない
戻り値:
指定の String オブジェクトの開始位置。 検索は指定位置から開始される。 String オブジェクトが見つからない場合や 開始位置が範囲外にある場合は -1。 戻り値の位置番号は 1 から開始される
例外:
SerialException - String シグニチャーの検索中にエラーが発生した場合
SQLException - データベースから Blob 値にアクセスするときに エラーが発生した場合

position

public long position(Clob searchStr,
                     long start)
              throws SerialException,
                     SQLException
この SerialClob オブジェクト内で、指定の Clob シグニチャーが開始される位置を返します。 検索は指定位置から開始されます。パターンが見つからない場合、このメソッドは -1 を返します。

定義:
インタフェース Clob 内の position
パラメータ:
searchStr - 検索対象の Clob オブジェクト
start - この SerialClob オブジェクト内で、 検索を開始する位置。最初の位置は 11 以上かつ この SerialClob オブジェクトの長さ以下でなければならない
戻り値:
この SerialClob オブジェクト内で、 指定の Clob オブジェクトが開始される位置。 指定の開始位置またはその直後
例外:
SerialException - Clob シグニチャーの検索中にエラーが発生した場合
SQLException - データベースから Blob 値にアクセスするときに エラーが発生した場合

setString

public int setString(long pos,
                     String str)
              throws SerialException
この SerialClob オブジェクトが表す CLOB 値へ、指定された Java Stringpos の位置に書き込みます。

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

setString

public int setString(long pos,
                     String str,
                     int offset,
                     int length)
              throws SerialException
この Clob が表す CLOB 値へ、offset 文字から始まる strlen 文字を書き込みます。

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

setAsciiStream

public OutputStream setAsciiStream(long pos)
                            throws SerialException,
                                   SQLException
この SerialClob オブジェクトが表す CLOB 値へ ASCII 文字の書き込みに使用するストリームを取得します。 ストリームは pos の位置から開始します。このメソッドは、この SerialClob オブジェクトが Clob オブジェクト によってインスタンス化されている場合に、setAsciiStream() 呼び出しを配下の Clob オブジェクトに転送します。この SerialClob オブジェクトが char 配列によってインスタンス化されている場合は SerialException オブジェクトがスローされます。

定義:
インタフェース Clob 内の setAsciiStream
パラメータ:
pos - CLOB 値への書き込みを開始する 位置
戻り値:
ASCII 符号化文字が書き込まれるストリーム
例外:
SerialException - SerialClob が setAsciiStream をサポートする Clob オブジェクトによってインスタンス化されていない場合
SQLException - CLOB 値にアクセスするときに エラーが発生した場合
関連項目:
getAsciiStream()

setCharacterStream

public Writer setCharacterStream(long pos)
                          throws SerialException,
                                 SQLException
この SerialClob オブジェクトが表す CLOB 値への Unicode ストリームの書き込みに使用する、pos の位置のストリームを取得します。このメソッドは、この SerialClob オブジェクトが Clob オブジェクト によってインスタンス化されている場合に、setCharacterStream() 呼び出しを配下の Clob オブジェクトに転送します。この SerialClob オブジェクトが char 配列によってインスタンス化されている場合は SerialException オブジェクトがスローされます。

定義:
インタフェース Clob 内の setCharacterStream
パラメータ:
pos - CLOB 値への書き込みを開始する 位置
戻り値:
Unicode 符号化文字が書き込まれるストリーム
例外:
SerialException - SerialClob が setCharacterStream をサポートする Clob オブジェクトによってインスタンス化されていない場合
SQLException - CLOB 値にアクセスするときに エラーが発生した場合
関連項目:
getCharacterStream()

truncate

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

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

定義:
インタフェース Clob 内の truncate
パラメータ:
length - CLOB 値が切り詰められる長さ (バイト単位)
例外:
SQLException - CLOB 値にアクセスするときに エラーが発生した場合
SerialException

getCharacterStream

public Reader getCharacterStream(long pos,
                                 long length)
                          throws SQLException
インタフェース Clob の記述:
Clob 値の一部 (文字位置 pos から長さ length 文字分) を格納した Reader オブジェクトを返します。

定義:
インタフェース Clob 内の getCharacterStream
パラメータ:
pos - 取得する部分値の最初の文字までの オフセット。Clob 内で最初の文字の位置は 1
length - 取得する部分値の長さ (文字数)
戻り値:
Clob 値の一部を読み取ることのできる Reader
例外:
SQLException - pos が 1 より小さい場合、 pos が Clob 内の文字数より大きい場合、 または pos + length が Clob 内の文字数より大きい場合
SQLFeatureNotSupportedException - JDBC ドライバがこのメソッドをサポートしない場合

free

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

free が呼び出されると、free 以外のメソッドを呼び出そうとしても、SQLException がスローされます。free を複数回呼び出した場合、2 回目以降の free 呼び出しは何も行わないものとして扱われます。  

定義:
インタフェース Clob 内の free
例外:
SQLException - Clob のリソースを解放するときに エラーが発生した場合
SQLFeatureNotSupportedException - JDBC ドライバがこのメソッドをサポートしない場合

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。