- すべての実装されたインタフェース:
- Serializable,- Cloneable,- Clob
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オブジェクトを構築します。
- 
メソッドのサマリー修飾子と型メソッド説明clone()このSerialClobのクローンを返します。booleanこのSerialClobを指定されたオブジェクトと比較します。voidfree()このメソッドは、SerialClobオブジェクトを解放し、保持しているリソースを解放します。このSerialClobオブジェクトによって指定されたCLOB値をASCIIストリームとして取得します。このSerialClobオブジェクトをUnicode文字の入力ストリームとして返します。getCharacterStream(long pos, long length) SerialClob値の一部(文字位置posから長さlength文字分)を格納したReaderオブジェクトを返します。getSubString(long pos, int length) このSerialClobオブジェクトに格納された、指定の位置から開始され指定の文字数分続く部分文字列のコピーを返します。inthashCode()このSerialClobのハッシュ・コードを返します。longlength()このSerialClobオブジェクトの文字配列の文字数を取得します。longこのSerialClobオブジェクト内で、指定のStringオブジェクトが開始される位置を返します。検索は指定位置から開始されます。longこのSerialClobオブジェクト内で、指定のClobシグニチャが開始される位置を返します。検索は指定位置から開始されます。setAsciiStream(long pos) このSerialClobオブジェクトが表すCLOB値へのASCII文字の書込みに使用するストリームを取得します。ストリームはposの位置から開始します。setCharacterStream(long pos) このSerialClobオブジェクトが表すCLOB値へのUnicode文字のストリームの書込みに使用する、posの位置のストリームを取得します。intこのSerialClobオブジェクトが表すCLOB値へ、指定されたJavaStringをposの位置に書き込みます。intstrの文字offsetから始まるlen個の文字を、このClobが表すCLOB値に書き込みます。voidtruncate(long length) このSerialClobオブジェクトが表すCLOB値をlen文字の長さに切り詰めます。
- 
コンストラクタの詳細- 
SerialClobpublic SerialClob(char[] ch) throws SerialException, SQLException 指定されたchar配列の直列化されたバージョンであるSerialClobオブジェクトを構築します。新しい SerialClobオブジェクトは、char配列のデータで初期化されます。このため、未接続のRowSetオブジェクトは、データ・ソースに手を加えずに直列化されたClobオブジェクトを作成できます。- パラメータ:
- ch- 直列化される- Clobオブジェクトを表すchar配列
- 例外:
- SerialException- 直列化でエラーが発生した場合
- SQLException- SQLエラーが発生した場合
 
- 
SerialClobpublic 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を返した場合
- 関連項目:
 
 
- 
- 
メソッドの詳細- 
lengthpublic long length() throws SerialExceptionこのSerialClobオブジェクトの文字配列の文字数を取得します。- 定義:
- length、インタフェース:- Clob
- 戻り値:
- このSerialClobオブジェクトの文字配列の文字数を示すlong
- 例外:
- SerialException- エラーが発生した場合、またはこのオブジェクトで- freeが以前呼び出された場合
 
- 
getCharacterStreampublic Reader getCharacterStream() throws SerialExceptionこのSerialClobオブジェクトをUnicode文字の入力ストリームとして返します。 関連メソッドgetAsciiStreamとは異なり、SerialClobオブジェクトがClobオブジェクトによって作成されたか、またはchar配列によって作成されたかに関係なく、ストリームが生成されます。- 定義:
- getCharacterStream、インタフェース:- Clob
- 戻り値:
- このSerialClobオブジェクトのデータを格納するjava.io.Readerオブジェクト
- 例外:
- SerialException- エラーが発生した場合、またはこのオブジェクトで- freeが以前呼び出された場合
- 関連項目:
 
- 
getAsciiStreampublic 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値にアクセスするときにエラーが発生した場合
- 関連項目:
 
- 
getSubStringpublic String getSubString(long pos, int length) throws SerialException このSerialClobオブジェクトに格納された、指定の位置から開始され指定の文字数分続く部分文字列のコピーを返します。- 定義:
- getSubString、インタフェース:- Clob
- パラメータ:
- pos- コピーされる部分文字列内の最初の文字の位置。- SerialClobオブジェクトの最初の文字の位置は- 1。- 1以上でなければならない。また、開始位置と部分文字列の長さの和は、この- SerialClobオブジェクトの長さより短くなければならない
- length- 返される部分文字列内の文字数。この- SerialClobオブジェクトの長さ以下でなければならない。また、開始位置と部分文字列の長さの和は、この- SerialClobオブジェクトの長さより短くなければならない
- 戻り値:
- このSerialClobオブジェクトの部分文字列(指定の位置から指定された文字数分続く)を格納するStringオブジェクト
- 例外:
- SerialException- 引数のいずれかが範囲外である場合、またはこのオブジェクトで- freeが以前呼び出された場合
 
- 
positionpublic 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値にアクセスするときにエラーが発生した場合。
 
- 
positionpublic 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値にアクセスするときにエラーが発生した場合
 
- 
setStringpublic int setString(long pos, String str) throws SerialException このSerialClobオブジェクトが表すCLOB値へ、指定されたJavaStringをposの位置に書き込みます。- 定義:
- setString、インタフェース:- Clob
- パラメータ:
- pos- この- SerialClobオブジェクトが表す- CLOB値への書込みを開始する位置。最初の位置は- 1です。- 1未満でも、この- SerialClobオブジェクトの長さ+1より長くしないでください
- str- この- SerialClobオブジェクトが表す- CLOB値へ書き込まれる文字列
- 戻り値:
- 書き込まれる文字数
- 例外:
- SerialException-- CLOB値へのアクセス中にエラーが発生した場合。無効な位置が設定されている場合。- freeメソッドが以前にこのオブジェクトでコールされていた場合
 
- 
setStringpublic int setString(long pos, String str, int offset, int length) throws SerialException strの文字offsetから始まるlen個の文字を、このClobが表すCLOB値に書き込みます。- 定義:
- setString、インタフェース:- Clob
- パラメータ:
- pos- この- SerialClobオブジェクトが表す- CLOB値への書込みを開始する位置。最初の位置は- 1です。- 1未満でも、この- SerialClobオブジェクトの長さ+1より長くしないでください
- str- この- Clobオブジェクトが表す- CLOB値へ書き込まれる文字列
- offset- 書き込まれる文字の読込みを開始する- strへのオフセット
- length- 書き込まれる文字数
- 戻り値:
- 書き込まれる文字数
- 例外:
- SerialException-- CLOB値へのアクセス中にエラーが発生した場合、無効な位置が設定されている場合、無効なオフセット値が設定されている場合、または- lengthと- offsetの組合せ値が- strの長さを超えています。- freeメソッドが以前にこのオブジェクトでコールされている場合
 
- 
setAsciiStreampublic 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値にアクセスするときにエラーが発生した場合
- 関連項目:
 
- 
setCharacterStreampublic 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値にアクセスするときにエラーが発生した場合
- 関連項目:
 
- 
truncatepublic void truncate(long length) throws SerialException このSerialClobオブジェクトが表すCLOB値をlen文字の長さに切り詰めます。SerialClobオブジェクトの長さを0に切り詰めるとそのコンテンツがクリアされます。- 定義:
- truncate、インタフェース:- Clob
- パラメータ:
- length-- CLOB値が切り詰められる長さ(バイト単位)
- 例外:
- SerialException-- CLOB値へのアクセス時にエラーが発生した場合、またはこのオブジェクトで- freeメソッドが以前呼び出された場合
 
- 
getCharacterStreampublic 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
 
- 
freepublic void free() throws SQLExceptionこのメソッドは、SerialClobオブジェクトを解放し、保持しているリソースを解放します。freeメソッドが一度呼び出されたあとは、オブジェクトは無効になります。freeを複数回呼び出した場合、2回目以降のfree呼出しは何も行わないものとして扱われます。- 定義:
- free、インタフェース:- Clob
- 例外:
- SQLException- Clobのリソースの解放時にエラーが発生した場合
- 導入されたバージョン:
- 1.6
 
- 
equalspublic boolean equals(Object obj) このSerialClobを指定されたオブジェクトと比較します。 引数がnullではなく、このオブジェクトと同じ文字シーケンスを表すSerialClobオブジェクトである場合にのみ、結果はtrueになります。
- 
hashCodepublic int hashCode()このSerialClobのハッシュ・コードを返します。
- 
clonepublic Object clone()このSerialClobのクローンを返します。 コピーは、このSerialClobオブジェクトの内部文字配列のクローンへの参照を保持するのであって、元の内部文字配列への参照を保持するわけではありません。 ベースとなるClobオブジェクトはnullに設定されます。
 
-