public class SerialClob extends Object implements Clob, Serializable, Cloneable
CLOB値の直列化マッピングです。
SerialClobクラスは、Clobオブジェクトからインスタンスを作成するためのコンストラクタを提供します。Clobオブジェクトは、SerialClobオブジェクトを構築する前に、クライアントにSQL CLOB値のデータを渡す必要があります。SQL CLOB値のデータは、クライアント上で、Unicode文字のストリームとして生成されます。
SerialClobメソッドは、SerialClobオブジェクトから部分文字列を取得したり、文字パターンの開始位置を検索したりする機能を提供します。
SerialClobは、複数の並行スレッドによる使用において安全ではありません。複数のスレッドで使用する場合は、適切な同期処理によってSerialClobへのアクセスを制御するようにしてください。
| コンストラクタと説明 |
|---|
SerialClob(char[] ch)
指定された
char配列の直列化されたバージョンであるSerialClobオブジェクトを構築します。 |
SerialClob(Clob clob)
指定された
Clobオブジェクトの直列化されたバージョンであるSerialClobオブジェクトを構築します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
Object |
clone()
この
SerialClobのクローンを返します。 |
boolean |
equals(Object obj)
このSerialClobを指定されたオブジェクトと比較します。
|
void |
free()
このメソッドは、
SeriableClobオブジェクトを解放して、保持されているリソースを解放します。 |
InputStream |
getAsciiStream()
この
SerialClobオブジェクトによって指定されたCLOB値をASCIIストリームとして取得します。 |
Reader |
getCharacterStream()
この
SerialClobオブジェクトをUnicode文字の入力ストリームとして返します。 |
Reader |
getCharacterStream(long pos, long length)
SerialClob値の一部(文字位置posから長さlength文字分)を格納したReaderオブジェクトを返します。 |
String |
getSubString(long pos, int length)
この
SerialClobオブジェクトに格納された、指定の位置から開始され指定の文字数分続く部分文字列のコピーを返します。 |
int |
hashCode()
この
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文字の書込みに使用するストリームを取得します。ストリームはposの位置から開始します。 |
Writer |
setCharacterStream(long pos)
この
SerialClobオブジェクトが表すCLOB値へのUnicode文字のストリームの書込みに使用する、posの位置のストリームを取得します。 |
int |
setString(long pos, String str)
この
SerialClobオブジェクトが表すCLOB値へ、指定されたJava Stringをposの位置に書き込みます。 |
int |
setString(long pos, String str, int offset, int length)
strの文字offsetから始まるlen個の文字を、このClobが表すCLOB値に書き込みます。 |
void |
truncate(long length)
この
SerialClobオブジェクトが表すCLOB値をlen文字の長さに切り詰めます。 |
public SerialClob(char[] ch)
throws SerialException,
SQLException
char配列の直列化されたバージョンであるSerialClobオブジェクトを構築します。
新しいSerialClobオブジェクトは、char配列のデータで初期化されます。このため、未接続のRowSetオブジェクトは、データ・ソースに手を加えずに直列化されたClobオブジェクトを作成できます。
ch - 直列化されるClobオブジェクトを表すchar配列SerialException - 直列化でエラーが発生した場合SQLException - SQLエラーが発生した場合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の場合、またはClobでClob.getCharacterStream()メソッドまたはClob.getAsciiStream()メソッドのいずれかがnullを返した場合Clobpublic long length()
throws SerialException
SerialClobオブジェクトの文字配列の文字数を取得します。length、インタフェース: ClobSerialClobオブジェクトの文字配列の文字数を示すlongSerialException - エラーが発生した場合、またはこのオブジェクトでfreeが以前呼び出された場合public Reader getCharacterStream() throws SerialException
SerialClobオブジェクトをUnicode文字の入力ストリームとして返します。関連メソッドgetAsciiStreamとは異なり、SerialClobオブジェクトがClobオブジェクトによって作成されたか、またはchar配列によって作成されたかに関係なく、ストリームが生成されます。getCharacterStream、インタフェース: ClobSerialClobオブジェクトのデータを格納するjava.io.ReaderオブジェクトSerialException - エラーが発生した場合、またはこのオブジェクトでfreeが以前呼び出された場合Clob.setCharacterStream(long)public InputStream getAsciiStream() throws SerialException, SQLException
SerialClobオブジェクトによって指定されたCLOB値をASCIIストリームとして取得します。このメソッドは、このSerialClobオブジェクトがClobオブジェクトによってインスタンス化されている場合に、getAsciiStream呼出しを配下のClobオブジェクトに転送します。このSerialClobオブジェクトがchar配列によってインスタンス化されている場合はSerialExceptionオブジェクトがスローされます。getAsciiStream、インタフェース: ClobSerialClobオブジェクトのデータを格納するjava.io.InputStreamオブジェクトSerialException - このSerialClobオブジェクトがClobオブジェクトでインスタンス化されなかった場合、またはこのオブジェクトでfreeが以前呼び出された場合SQLException - このSerialClobオブジェクトの作成に使用されたClobオブジェクトによって表現されるCLOB値にアクセスするときにエラーが発生した場合Clob.setAsciiStream(long)public String getSubString(long pos, int length) throws SerialException
SerialClobオブジェクトに格納された、指定の位置から開始され指定の文字数分続く部分文字列のコピーを返します。getSubString、インタフェース: Clobpos - コピーされる部分文字列内の最初の文字の位置。SerialClobオブジェクトの最初の文字の位置は1。1以上でなければならない。また、開始位置と部分文字列の長さの和は、このSerialClobオブジェクトの長さより短くなければならないlength - 返される部分文字列内の文字数。このSerialClobオブジェクトの長さ以下でなければならない。また、開始位置と部分文字列の長さの和は、このSerialClobオブジェクトの長さより短くなければならないSerialClobオブジェクトの部分文字列(指定の位置から指定された文字数分続く)を格納するStringオブジェクトSerialException - 引数のいずれかが範囲外である場合、またはこのオブジェクトでfreeが以前呼び出された場合public long position(String searchStr, long start) throws SerialException, SQLException
SerialClobオブジェクト内で、指定のStringオブジェクトが開始される位置を返します。検索は指定位置から開始されます。パターンが見つからない場合、このメソッドは-1を返します。position、インタフェース: ClobsearchStr - 検索対象のStringオブジェクトstart - このSerialClobオブジェクト内で、検索を開始する位置。最初の位置は1。1以上かつこのSerialClobオブジェクトの長さ以下でなければならないStringオブジェクトの開始位置。検索は指定位置から開始される。Stringオブジェクトが見つからない場合や開始位置が範囲外にある場合は-1。戻り値の位置番号は1から開始されるSerialException - このオブジェクトでfreeメソッドが以前呼び出された場合SQLException - データベースからClob値にアクセスするときにエラーが発生した場合。public long position(Clob searchStr, long start) throws SerialException, SQLException
SerialClobオブジェクト内で、指定のClobシグニチャが開始される位置を返します。検索は指定位置から開始されます。パターンが見つからない場合、このメソッドは-1を返します。position、インタフェース: ClobsearchStr - 検索対象のClobオブジェクトstart - このSerialClobオブジェクト内で、検索を開始する位置。最初の位置は1。1以上かつこのSerialClobオブジェクトの長さ以下でなければならないSerialClobオブジェクト内で、指定のClobオブジェクトが開始される位置。指定の開始位置またはその直後SerialException - Clobシグネチャの検索時にエラーが発生した場合、またはこのオブジェクトでfreeメソッドが以前呼び出された場合SQLException - データベースからClob値にアクセスするときにエラーが発生した場合public int setString(long pos,
String str)
throws SerialException
SerialClobオブジェクトが表すCLOB値へ、指定されたJava Stringをposの位置に書き込みます。setString、インタフェース: Clobpos - このSerialClobオブジェクトが表すCLOB値への書込みを開始する位置。最初の位置は1。1以上かつ、このSerialClobオブジェクトの長さ以下でなければならないstr - このSerialClobオブジェクトが表すCLOB値へ書き込まれる文字列SerialException - CLOB値にアクセスするときにエラーが発生した場合、設定された位置が無効な場合、設定されたオフセット値が無効な場合、書き込まれるバイト数がSerialClobの長さを超えている場合、長さとオフセットを合わせた値がClobバッファより大きい場合、またはこのオブジェクトでfreeメソッドが以前呼び出された場合public int setString(long pos,
String str,
int offset,
int length)
throws SerialException
strの文字offsetから始まるlen個の文字を、このClobが表すCLOB値に書き込みます。setString、インタフェース: Clobpos - このSerialClobオブジェクトが表すCLOB値への書込みを開始する位置。最初の位置は1。1以上かつ、このSerialClobオブジェクトの長さ以下でなければならないstr - このClobオブジェクトが表すCLOB値へ書き込まれる文字列offset - 書き込まれる文字の読込みを開始するstrへのオフセットlength - 書き込まれる文字数SerialException - CLOB値にアクセスするときにエラーが発生した場合、設定された位置が無効な場合、設定されたオフセット値が無効な場合、書き込まれるバイト数がSerialClobの長さを超えている場合、長さとオフセットを合わせた値がClobバッファより大きい場合、またはこのオブジェクトでfreeメソッドが以前呼び出された場合public OutputStream setAsciiStream(long pos) throws SerialException, SQLException
SerialClobオブジェクトが表すCLOB値へのASCII文字の書込みに使用するストリームを取得します。ストリームはposの位置から開始します。このメソッドは、このSerialClobオブジェクトがClobオブジェクトによってインスタンス化されている場合に、setAsciiStream()呼出しを配下のClobオブジェクトに転送します。このSerialClobオブジェクトがchar配列によってインスタンス化されている場合はSerialExceptionオブジェクトがスローされます。setAsciiStream、インタフェース: Clobpos - CLOBオブジェクトへの書込みを開始する位置SerialException - SerialClobがClobオブジェクトでインスタンス化されていない場合、またはこのオブジェクトでfreeメソッドが以前呼び出された場合SQLException - CLOB値にアクセスするときにエラーが発生した場合getAsciiStream()public Writer setCharacterStream(long pos) throws SerialException, SQLException
SerialClobオブジェクトが表すCLOB値へのUnicode文字のストリームの書込みに使用する、posの位置のストリームを取得します。このメソッドは、このSerialClobオブジェクトがClobオブジェクトによってインスタンス化されている場合に、setCharacterStream()呼出しを配下のClobオブジェクトに転送します。このSerialClobオブジェクトがchar配列によってインスタンス化されている場合はSerialExceptionがスローされます。setCharacterStream、インタフェース: Clobpos - CLOB値への書込みを開始する位置SerialException - SerialClobがClobオブジェクトでインスタンス化されていない場合、またはこのオブジェクトでfreeメソッドが以前呼び出された場合SQLException - CLOB値にアクセスするときにエラーが発生した場合getCharacterStream()public void truncate(long length)
throws SerialException
SerialClobオブジェクトが表すCLOB値をlen文字の長さに切り詰めます。
SerialClobオブジェクトの長さを0に切り詰めるとそのコンテンツが消去されます。
truncate、インタフェース: Cloblength - CLOB値が切り詰められる長さ(バイト単位)SerialException - CLOB値へのアクセス時にエラーが発生した場合、またはこのオブジェクトでfreeメソッドが以前呼び出された場合public Reader getCharacterStream(long pos, long length) throws SQLException
SerialClob値の一部(文字位置posから長さlength文字分)を格納したReaderオブジェクトを返します。getCharacterStream、インタフェース: Clobpos - 取得する部分値の最初の文字までのオフセット。SerialClob内で最初の文字の位置は1。length - 取得する部分値の長さ(文字数)。SerialClob値の一部を読み取ることのできるReader。SQLException - posが1より小さい場合、posがSerialClob内の文字数より大きい場合、またはpos+lengthがSerialClob内の文字数より大きい場合SerialException - このオブジェクトでfreeメソッドが以前呼び出された場合public void free()
throws SQLException
SeriableClobオブジェクトを解放して、保持されているリソースを解放します。freeメソッドが一度呼び出されたあとは、オブジェクトは無効になります。
freeを複数回呼び出した場合、2回目以降のfree呼出しは何も行わないものとして扱われます。
free、インタフェース: ClobSQLException - Clobのリソースの解放時にエラーが発生した場合public boolean equals(Object obj)
nullではなく、このオブジェクトと同じ文字シーケンスを表すSerialClobオブジェクトである場合にのみ、結果はtrueになります。equals、クラス: Objectobj - このSerialClobと比較するオブジェクトSerialClobを表す場合はtrue、それ以外の場合はfalseObject.hashCode(), HashMappublic int hashCode()
SerialClobのハッシュ・コードを返します。hashCode、クラス: ObjectObject.equals(java.lang.Object), System.identityHashCode(java.lang.Object) バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.