- すべての実装されたインタフェース:
 Serializable,Cloneable,Clob
public class SerialClob extends Object implements Clob, Serializable, Cloneable
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オブジェクトを構築します。 - 
メソッドのサマリー
修飾子と型 メソッド 説明 Objectclone()このSerialClobのクローンを返します。booleanequals(Object obj)このSerialClobを指定されたオブジェクトと比較します。voidfree()このメソッドは、SerialClobオブジェクトを解放し、保持しているリソースを解放します。InputStreamgetAsciiStream()このSerialClobオブジェクトによって指定されたCLOB値をASCIIストリームとして取得します。ReadergetCharacterStream()このSerialClobオブジェクトをUnicode文字の入力ストリームとして返します。ReadergetCharacterStream(long pos, long length)SerialClob値の一部(文字位置posから長さlength文字分)を格納したReaderオブジェクトを返します。StringgetSubString(long pos, int length)このSerialClobオブジェクトに格納された、指定の位置から開始され指定の文字数分続く部分文字列のコピーを返します。inthashCode()このSerialClobのハッシュ・コードを返します。longlength()このSerialClobオブジェクトの文字配列の文字数を取得します。longposition(String searchStr, long start)このSerialClobオブジェクト内で、指定のStringオブジェクトが開始される位置を返します。検索は指定位置から開始されます。longposition(Clob searchStr, long start)このSerialClobオブジェクト内で、指定のClobシグニチャが開始される位置を返します。検索は指定位置から開始されます。OutputStreamsetAsciiStream(long pos)このSerialClobオブジェクトが表すCLOB値へのASCII文字の書込みに使用するストリームを取得します。ストリームはposの位置から開始します。WritersetCharacterStream(long pos)このSerialClobオブジェクトが表すCLOB値へのUnicode文字のストリームの書込みに使用する、posの位置のストリームを取得します。intsetString(long pos, String str)このSerialClobオブジェクトが表すCLOB値へ、指定されたJavaStringをposの位置に書き込みます。intsetString(long pos, String str, int offset, int length)strの文字offsetから始まるlen個の文字を、このClobが表すCLOB値に書き込みます。voidtruncate(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オブジェクトは、あらかじめデータベースからクライアントへSQLCLOB値のデータを渡しておく必要があります。 そうしないと、新しいSerialClobオブジェクトはデータを持たないオブジェクトになります。ノート: このコンストラクタに指定された
Clobオブジェクトは、Clob.getCharacterStream()メソッドおよびClob.getAsciiStreamメソッドに対してnull以外を返す必要がある。 このSerialClobコンストラクタはこのインスタンスのClobオブジェクトを直列化できず、SQLExceptionオブジェクトをスローします。- パラメータ:
 clob- このSerialClobオブジェクトの構築に使用されるClobオブジェクト。null以外- 例外:
 SerialException- 直列化でエラーが発生した場合SQLException- CLOBの取込み時にSQLエラーが発生した場合、Clobオブジェクトがnullの場合、またはClobでClob.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オブジェクトの最初の文字の位置は1。1以上でなければならない。また、開始位置と部分文字列の長さの和は、この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オブジェクト内で、検索を開始する位置。最初の位置は1。1以上かつこの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オブジェクト内で、検索を開始する位置。最初の位置は1。1以上かつこのSerialClobオブジェクトの長さ以下でなければならない- 戻り値:
 - この
SerialClobオブジェクト内で、指定のClobオブジェクトが開始される位置。指定の開始位置またはその直後 - 例外:
 SerialException- Clobシグネチャの検索時にエラーが発生した場合、またはこのオブジェクトでfreeメソッドが以前呼び出された場合SQLException- データベースからClob値にアクセスするときにエラーが発生した場合
 - 
setString
public int setString(long pos, String str) throws SerialExceptionこのSerialClobオブジェクトが表すCLOB値へ、指定されたJavaStringをposの位置に書き込みます。- 定義:
 setString、インタフェース:Clob- パラメータ:
 pos- このSerialClobオブジェクトが表すCLOB値への書込みを開始する位置。最初の位置は1。1以上かつ、このSerialClobオブジェクトの長さ以下でなければならないstr- このSerialClobオブジェクトが表すCLOB値へ書き込まれる文字列- 戻り値:
 - 書き込まれる文字数
 - 例外:
 SerialException-CLOB値にアクセスするときにエラーが発生した場合、設定された位置が無効な場合、設定されたオフセット値が無効な場合、書き込まれるバイト数がSerialClobの長さを超えている場合、長さとオフセットを合わせた値がClobバッファより大きい場合、またはこのオブジェクトでfreeメソッドが以前呼び出された場合
 - 
setString
public int setString(long pos, String str, int offset, int length) throws SerialExceptionstrの文字offsetから始まるlen個の文字を、このClobが表すCLOB値に書き込みます。- 定義:
 setString、インタフェース:Clob- パラメータ:
 pos- このSerialClobオブジェクトが表すCLOB値への書込みを開始する位置。最初の位置は1。1以上かつ、この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 SQLExceptionSerialClob値の一部(文字位置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に設定されます。 
 -