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を返した場合Clob
public long length() throws SerialException
SerialClob
オブジェクトの文字配列の文字数を取得します。length
、インタフェース: Clob
SerialClob
オブジェクトの文字配列の文字数を示すlong
SerialException
- エラーが発生した場合、またはこのオブジェクトでfree
が以前呼び出された場合public Reader getCharacterStream() throws SerialException
SerialClob
オブジェクトをUnicode文字の入力ストリームとして返します。関連メソッドgetAsciiStream
とは異なり、SerialClob
オブジェクトがClob
オブジェクトによって作成されたか、またはchar
配列によって作成されたかに関係なく、ストリームが生成されます。getCharacterStream
、インタフェース: Clob
SerialClob
オブジェクトのデータを格納する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
、インタフェース: Clob
SerialClob
オブジェクトのデータを格納する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
、インタフェース: Clob
pos
- コピーされる部分文字列内の最初の文字の位置。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
、インタフェース: Clob
searchStr
- 検索対象の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
、インタフェース: Clob
searchStr
- 検索対象の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
、インタフェース: Clob
pos
- この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
、インタフェース: Clob
pos
- この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
、インタフェース: Clob
pos
- 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
、インタフェース: Clob
pos
- CLOB
値への書込みを開始する位置SerialException
- SerialClobがClobオブジェクトでインスタンス化されていない場合、またはこのオブジェクトでfree
メソッドが以前呼び出された場合SQLException
- CLOB
値にアクセスするときにエラーが発生した場合getCharacterStream()
public void truncate(long length) throws SerialException
SerialClob
オブジェクトが表すCLOB
値をlen
文字の長さに切り詰めます。
SerialClob
オブジェクトの長さを0に切り詰めるとそのコンテンツが消去されます。
truncate
、インタフェース: Clob
length
- CLOB
値が切り詰められる長さ(バイト単位)SerialException
- CLOB
値へのアクセス時にエラーが発生した場合、またはこのオブジェクトでfree
メソッドが以前呼び出された場合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
メソッドが以前呼び出された場合public void free() throws SQLException
SeriableClob
オブジェクトを解放して、保持されているリソースを解放します。free
メソッドが一度呼び出されたあとは、オブジェクトは無効になります。
free
を複数回呼び出した場合、2回目以降のfree
呼出しは何も行わないものとして扱われます。
free
、インタフェース: Clob
SQLException
- Clobのリソースの解放時にエラーが発生した場合public boolean equals(Object obj)
null
ではなく、このオブジェクトと同じ文字シーケンスを表すSerialClob
オブジェクトである場合にのみ、結果はtrue
になります。equals
、クラス: Object
obj
- このSerialClob
と比較するオブジェクトSerialClob
を表す場合はtrue
、それ以外の場合はfalse
Object.hashCode()
, HashMap
public int hashCode()
SerialClob
のハッシュ・コードを返します。hashCode
、クラス: Object
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.