public class SerialClob extends Object implements Clob, Serializable, Cloneable
CLOB
値の直列化マッピングです。
SerialClob
クラスは、Clob
オブジェクトからインスタンスを作成するためのコンストラクタを提供します。Clob
オブジェクトは、SerialClob
オブジェクトを構築する前に、クライアントに SQL CLOB
値のデータを渡す必要があります。SQL CLOB
値のデータは、クライアント上で、Unicode 文字のストリームとして生成されます。
SerialClob
メソッドは、SerialClob
オブジェクトから部分文字列を取得したり、文字パターンの開始位置を検索したりする機能を提供します。
コンストラクタと説明 |
---|
SerialClob(char[] ch)
指定された
char 配列の直列化されたバージョンである SerialClob オブジェクトを構築します。 |
SerialClob(Clob clob)
指定された
Clob オブジェクトの直列化されたバージョンである SerialClob オブジェクトを構築します。 |
修飾子と型 | メソッドと説明 |
---|---|
void |
free()
このメソッドは、
Clob オブジェクトを解放して、保持されているリソースを解放します。 |
InputStream |
getAsciiStream()
この
SerialClob オブジェクトによって指定された CLOB 値を ASCII ストリームとして取得します。 |
Reader |
getCharacterStream()
この
SerialClob オブジェクトを Unicode 文字の入力ストリームとして返します。 |
Reader |
getCharacterStream(long pos, long length)
Clob 値の一部 (文字位置 pos から長さ length 文字分) を格納した Reader オブジェクトを返します。 |
String |
getSubString(long pos, int length)
この
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
- エラーが発生した場合public Reader getCharacterStream() throws SerialException
SerialClob
オブジェクトを Unicode 文字の入力ストリームとして返します。関連メソッド getAsciiStream
とは異なり、SerialClob
オブジェクトが Clob
オブジェクトによって作成されたか、または char
配列によって作成されたかに関係なく、ストリームが生成されます。getCharacterStream
、インタフェース: Clob
SerialClob
オブジェクトのデータを格納する java.io.Reader
オブジェクトSerialException
- エラーが発生した場合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
オブジェクトによってインスタンス化されていない場合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
- いずれかの引数が範囲外にある場合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
- String シグニチャーの検索中にエラーが発生した場合SQLException
- データベースから Blob 値にアクセスするときにエラーが発生した場合。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 シグニチャーの検索中にエラーが発生した場合SQLException
- データベースから Blob 値にアクセスするときにエラーが発生した場合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 バッファーより大きい場合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 バッファーより大きい場合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 が setAsciiStream
をサポートする Clob オブジェクトによってインスタンス化されていない場合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 が setCharacterStream
をサポートする Clob オブジェクトによってインスタンス化されていない場合SQLException
- CLOB
値にアクセスするときにエラーが発生した場合getCharacterStream()
public void truncate(long length) throws SerialException
SerialClob
オブジェクトが表す CLOB
値を len
文字の長さに切り詰めます。
SerialClob
オブジェクトの長さを 0 に切り詰めるとそのコンテンツが消去されます。
truncate
、インタフェース: Clob
length
- CLOB
値が切り詰められる長さ (バイト単位)SQLException
- CLOB
値にアクセスするときにエラーが発生した場合SerialException
public Reader getCharacterStream(long pos, long length) throws SQLException
Clob
Clob
値の一部 (文字位置 pos から長さ length 文字分) を格納した Reader
オブジェクトを返します。getCharacterStream
、インタフェース: Clob
pos
- 取得する部分値の最初の文字までのオフセット。Clob 内で最初の文字の位置は 1。length
- 取得する部分値の長さ (文字数)。Clob
値の一部を読み取ることのできる Reader
。SQLException
- pos が 1 より小さい場合、pos が Clob
内の文字数より大きい場合、または pos + length が Clob
内の文字数より大きい場合SQLFeatureNotSupportedException
- JDBC ドライバがこのメソッドをサポートしない場合public void free() throws SQLException
Clob
Clob
オブジェクトを解放して、保持されているリソースを解放します。free
メソッドが一度呼び出されたあとは、オブジェクトは無効になります。
free
が呼び出されると、free
以外のメソッドを呼び出そうとしても、SQLException
がスローされます。free
を複数回呼び出した場合、2 回目以降の free
呼び出しは何も行わないものとして扱われます。
free
、インタフェース: Clob
SQLException
- Clob のリソースの解放時にエラーが発生した場合SQLFeatureNotSupportedException
- JDBC ドライバがこのメソッドをサポートしない場合 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.