- java.lang.Object
-
- javax.sql.rowset.serial.SerialClob
-
- すべての実装されたインタフェース:
Serializable
,Cloneable
,Clob
public class SerialClob extends Object implements Clob, Serializable, Cloneable
Javaプログラミング言語でのSQLCLOB
値の直列化マッピングです。SerialClob
クラスは、Clob
オブジェクトからインスタンスを作成するためのコンストラクタを提供します。Clob
オブジェクトは、SerialClob
オブジェクトを構築する前に、クライアントにSQLCLOB
値のデータを渡す必要があります。 SQLCLOB
値のデータは、クライアント上で、Unicode文字のストリームとして生成されます。SerialClob
メソッドは、SerialClob
オブジェクトから部分文字列を取得したり、文字パターンの開始位置を検索したりする機能を提供します。スレッドの安全性
SerialClobは、複数の並行スレッドによる使用において安全ではありません。 複数のスレッドで使用する場合は、適切な同期処理によってSerialClobへのアクセスを制御するようにしてください。
- 導入されたバージョン:
- 1.5
- 関連項目:
- 直列化された形式
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 SerialClob(char[] ch)
指定されたchar
配列の直列化されたバージョンであるSerialClob
オブジェクトを構築します。SerialClob(Clob clob)
指定されたClob
オブジェクトの直列化されたバージョンであるSerialClob
オブジェクトを構築します。
-
メソッドのサマリー
修飾子と型 メソッド 説明 Object
clone()
このSerialClob
のクローンを返します。boolean
equals(Object obj)
このSerialClobを指定されたオブジェクトと比較します。void
free()
このメソッドは、SerialClob
オブジェクトを解放し、保持しているリソースを解放します。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(String searchStr, long start)
このSerialClob
オブジェクト内で、指定のString
オブジェクトが開始される位置を返します。検索は指定位置から開始されます。long
position(Clob searchStr, long start)
このSerialClob
オブジェクト内で、指定のClob
シグニチャが開始される位置を返します。検索は指定位置から開始されます。OutputStream
setAsciiStream(long pos)
このSerialClob
オブジェクトが表すCLOB
値へのASCII文字の書込みに使用するストリームを取得します。ストリームはpos
の位置から開始します。Writer
setCharacterStream(long pos)
このSerialClob
オブジェクトが表すCLOB
値へのUnicode文字のストリームの書込みに使用する、pos
の位置のストリームを取得します。int
setString(long pos, String str)
このSerialClob
オブジェクトが表すCLOB
値へ、指定されたJavaString
をpos
の位置に書き込みます。int
setString(long pos, String str, int offset, int length)
str
の文字offset
から始まるlen
個の文字を、このClob
が表すCLOB
値に書き込みます。void
truncate(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を返した場合- 関連項目:
Clob
-
-
メソッドの詳細
-
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
が以前呼び出された場合- 関連項目:
Clob.setCharacterStream(long)
-
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
値にアクセスするときにエラーが発生した場合- 関連項目:
Clob.setAsciiStream(long)
-
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
オブジェクトの長さ以下でなければならないstr
- このSerialClob
オブジェクトが表すCLOB
値へ書き込まれる文字列- 戻り値:
- 書き込まれる文字数
- 例外:
SerialException
-CLOB
値にアクセスするときにエラーが発生した場合、設定された位置が無効な場合、設定されたオフセット値が無効な場合、書き込まれるバイト数がSerialClob
の長さを超えている場合、長さとオフセットを合わせた値が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
オブジェクトの長さ以下でなければならないstr
- このClob
オブジェクトが表すCLOB
値へ書き込まれる文字列offset
- 書き込まれる文字の読込みを開始するstr
へのオフセットlength
- 書き込まれる文字数- 戻り値:
- 書き込まれる文字数
- 例外:
SerialException
-CLOB
値にアクセスするときにエラーが発生した場合、設定された位置が無効な場合、設定されたオフセット値が無効な場合、書き込まれるバイト数がSerialClob
の長さを超えている場合、長さとオフセットを合わせた値がClobバッファより大きい場合、またはこのオブジェクトで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
値にアクセスするときにエラーが発生した場合- 関連項目:
getAsciiStream()
-
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
値にアクセスするときにエラーが発生した場合- 関連項目:
getCharacterStream()
-
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
になります。- オーバーライド:
equals
、クラス:Object
- パラメータ:
obj
- このSerialClob
と比較するオブジェクト- 戻り値:
- 指定されたオブジェクトがこのSerialClobに等しい
SerialClob
を表す場合はtrue
、それ以外の場合はfalse
- 関連項目:
Object.hashCode()
、HashMap
-
hashCode
public int hashCode()
このSerialClob
のハッシュ・コードを返します。- オーバーライド:
hashCode
、クラス:Object
- 戻り値:
- このオブジェクトのハッシュ・コード値
- 関連項目:
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
-