- すべての実装されたインタフェース:
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文字の長さに切り詰めます。
-
コンストラクタの詳細
-
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を返した場合- 関連項目:
-
-
メソッドの詳細
-
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が以前呼び出された場合- 関連項目:
-
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値にアクセスするときにエラーが発生した場合- 関連項目:
-
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オブジェクトの長さ+1より長くしないでくださいstr- このSerialClobオブジェクトが表すCLOB値へ書き込まれる文字列- 戻り値:
- 書き込まれる文字数
- スロー:
SerialException-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値への書込みを開始する位置。最初の位置は1です。1未満でも、このSerialClobオブジェクトの長さ+1より長くしないでくださいstr- このClobオブジェクトが表すCLOB値へ書き込まれる文字列offset- 書き込まれる文字の読込みを開始するstrへのオフセットlength- 書き込まれる文字数- 戻り値:
- 書き込まれる文字数
- スロー:
SerialException-CLOB値へのアクセス中にエラーが発生した場合、無効な位置が設定されている場合、無効なオフセット値が設定されている場合、またはlengthとoffsetの組合せ値がstrの長さを超えています。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値にアクセスするときにエラーが発生した場合- 関連項目:
-
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値にアクセスするときにエラーが発生した場合- 関連項目:
-
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になります。 -
hashCode
public int hashCode()このSerialClobのハッシュ・コードを返します。 -
clone
public Object clone()このSerialClobのクローンを返します。 コピーは、このSerialClobオブジェクトの内部文字配列のクローンへの参照を保持するのであって、元の内部文字配列への参照を保持するわけではありません。 ベースとなるClobオブジェクトはnullに設定されます。
-