- java.lang.Object
-
- javax.sql.rowset.serial.SerialBlob
-
- すべての実装されたインタフェース:
Serializable,Cloneable,Blob
public class SerialBlob extends Object implements Blob, Serializable, Cloneable
Javaプログラミング言語でのSQLBLOB値の直列化マッピングです。SerialBlobクラスは、Blobオブジェクトからインスタンスを作成するためのコンストラクタを提供します。Blobオブジェクトは、SerialBlobオブジェクトを構築する前に、クライアントにSQLBLOB値のデータを渡す必要があります。 SQLBLOB値のデータは、クライアント上で、Blob.getBytesメソッドによってバイト配列として生成されます。または、Blob.getBinaryStreamメソッドによって未解釈のバイト・ストリームとして生成されます。SerialBlobメソッドは、SerialBlobオブジェクトをバイト配列またはストリームとしてコピーできます。 さらに、SerialBlobオブジェクト内で、指定されたバイト・パターンやBlobオブジェクトを検索し、Blobオブジェクトを更新または切り詰めることもできます。スレッドの安全性
SerialBlobは、複数の並行スレッドによる使用において安全ではありません。 複数のスレッドで使用する場合は、適切な同期処理によってSerialBlobへのアクセスを制御するようにしてください。
- 導入されたバージョン:
- 1.5
- 関連項目:
- 直列化された形式
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 SerialBlob(byte[] b)指定されたbyte配列の直列化されたバージョンであるSerialBlobオブジェクトを構築します。SerialBlob(Blob blob)指定されたBlobオブジェクトの直列化されたバージョンであるSerialBlobオブジェクトを構築します。
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 Objectclone()このSerialBlobのクローンを返します。booleanequals(Object obj)このSerialBlobを指定されたオブジェクトと比較します。voidfree()このメソッドは、SerialBlobオブジェクトを解放し、保持しているリソースを解放します。InputStreamgetBinaryStream()このSerialBlobオブジェクトを入力ストリームとして返します。InputStreamgetBinaryStream(long pos, long length)Blob値の一部(バイト位置posから長さlengthバイト分)を格納したInputStreamオブジェクトを返します。byte[]getBytes(long pos, int length)このSerialBlobオブジェクトの指定の位置から、指定されたバイト数を別のバイト配列にコピーします。inthashCode()このSerialBlobのハッシュ・コードを返します。longlength()このSerialBlobオブジェクトのバイト配列のバイト数を取得します。longposition(byte[] pattern, long start)このSerialBlobオブジェクト内で、指定されたバイト・パターンが開始される位置を返します。検索は指定位置から開始されます。longposition(Blob pattern, long start)このSerialBlobオブジェクト内で、指定のBlobオブジェクトが開始される位置を返します。検索は指定位置から開始されます。OutputStreamsetBinaryStream(long pos)このBlobオブジェクトが表すBLOB値への書込みに使用できるストリームを取得します。intsetBytes(long pos, byte[] bytes)このBlobオブジェクトが表すBLOB値へ指定されたバイト配列をposの位置から書き込み、書き込まれたバイト数を返します。intsetBytes(long pos, byte[] bytes, int offset, int length)このBlobオブジェクトが表すBLOB値へ指定されたbyte配列の全部または一部を書き込み、書き込まれたバイト数を返します。voidtruncate(long length)このBlobオブジェクトが表すBLOB値をlenバイトの長さに切り詰めます。
-
-
-
コンストラクタの詳細
-
SerialBlob
public SerialBlob(byte[] b) throws SerialException, SQLException指定されたbyte配列の直列化されたバージョンであるSerialBlobオブジェクトを構築します。新しい
SerialBlobオブジェクトは、byte配列のデータで初期化されます。このため、未接続のRowSetオブジェクトは、データ・ソースに手を加えずに直列化されたBlobオブジェクトを作成できます。- パラメータ:
b- 直列化されるBlobオブジェクトのデータを格納するbyte配列- 例外:
SerialException- 直列化でエラーが発生した場合SQLException- SQLエラーが発生した場合
-
SerialBlob
public SerialBlob(Blob blob) throws SerialException, SQLException
指定されたBlobオブジェクトの直列化されたバージョンであるSerialBlobオブジェクトを構築します。新しい
SerialBlobオブジェクトは、Blobオブジェクトのデータで初期化されます。このため、Blobオブジェクトは、あらかじめデータベースからクライアントへSQLBLOB値のデータを渡しておく必要があります。 そうしないと、新しいSerialBlobオブジェクトはデータを持たないオブジェクトになります。- パラメータ:
blob- このSerialBlobオブジェクトの構築に使用されるBlobオブジェクト。null以外。- 例外:
SerialException- 直列化でエラーが発生した場合SQLException- このコンストラクタに渡されたBlobがnullの場合。- 関連項目:
Blob
-
-
メソッドの詳細
-
getBytes
public byte[] getBytes(long pos, int length) throws SerialExceptionこのSerialBlobオブジェクトの指定の位置から、指定されたバイト数を別のバイト配列にコピーします。コピーされるバイト数がこの
SerialBlobオブジェクトのバイト配列より長くなる場合、配列の長さに合わせて切り詰められます。- 定義:
getBytes、インタフェース:Blob- パラメータ:
pos- このSerialBlobオブジェクト内のコピーされる最初のバイトの位置。1から開始され、1より小さい値にはならない。また、このSerialBlobオブジェクトの長さ以下でなければならないlength- コピーされるバイト数- 戻り値:
- この
SerialBlobオブジェクトのコピー領域となるバイト配列。指定位置から指定のバイト数分続く - 例外:
SerialException- 指定された開始位置が範囲外である場合、またはこのオブジェクトでfreeが以前呼び出された場合- 関連項目:
Blob.setBytes(long, byte[])
-
length
public long length() throws SerialExceptionこのSerialBlobオブジェクトのバイト配列のバイト数を取得します。- 定義:
length、インタフェース:Blob- 戻り値:
- この
SerialBlobオブジェクトのバイト配列のバイト数を示すlong - 例外:
SerialException- エラーが発生した場合、またはこのオブジェクトでfreeが以前呼び出された場合
-
getBinaryStream
public InputStream getBinaryStream() throws SerialException
このSerialBlobオブジェクトを入力ストリームとして返します。 関連メソッドsetBinaryStreamとは異なり、SerialBlobがBlobオブジェクトによって作成されたか、またはbyte配列によって作成されたかに関係なく、ストリームが生成されます。- 定義:
getBinaryStream、インタフェース:Blob- 戻り値:
- この
SerialBlobのバイト配列を格納するjava.io.InputStreamオブジェクト - 例外:
SerialException- エラーが発生した場合、またはこのオブジェクトでfreeが以前呼び出された場合- 関連項目:
setBinaryStream(long)
-
position
public long position(byte[] pattern, long start) throws SerialException, SQLExceptionこのSerialBlobオブジェクト内で、指定されたバイト・パターンが開始される位置を返します。検索は指定位置から開始されます。- 定義:
position、インタフェース:Blob- パラメータ:
pattern- 検索対象のバイト・パターンstart- このSerialBlobオブジェクト内で、検索が開始されるバイトの位置。最初の位置は1。1以上かつ、このSerialBlobオブジェクトの長さ以下でなければならない- 戻り値:
- この
SerialBlobオブジェクト内で、指定されたバイト・パターンが開始される位置。検索は指定位置から開始される。パターンが見つからない場合や開始位置が範囲外にある場合は-1。戻り値の位置番号は1から開始される - 例外:
SerialException- Blobの直列化時にエラーが発生した場合、またはこのオブジェクトでfreeが以前呼び出された場合SQLException- データベースからBLOB値にアクセスするときにエラーが発生した場合
-
position
public long position(Blob pattern, long start) throws SerialException, SQLException
このSerialBlobオブジェクト内で、指定のBlobオブジェクトが開始される位置を返します。検索は指定位置から開始されます。- 定義:
position、インタフェース:Blob- パラメータ:
pattern- 検索対象のBlobオブジェクトstart- このSerialBlobオブジェクト内で、検索が開始されるバイトの位置。最初の位置は1。1以上かつ、このSerialBlobオブジェクトの長さ以下でなければならない- 戻り値:
- この
SerialBlobオブジェクト内で、指定されたBlobオブジェクトが開始される位置。検索は指定位置から開始される。パターンが見つからない場合や開始位置が範囲外にある場合は-1。戻り値の位置番号は1から開始される - 例外:
SerialException- Blobの直列化時にエラーが発生した場合、またはこのオブジェクトでfreeが以前呼び出された場合SQLException- データベースからBLOB値にアクセスするときにエラーが発生した場合
-
setBytes
public int setBytes(long pos, byte[] bytes) throws SerialException, SQLExceptionこのBlobオブジェクトが表すBLOB値へ指定されたバイト配列をposの位置から書き込み、書き込まれたバイト数を返します。- 定義:
setBytes、インタフェース:Blob- パラメータ:
pos- 書込みが開始されるSQLBLOB値の位置。 最初の位置は1。1以上かつこのSerialBlobオブジェクトの長さ以下でなければならない。bytes- このBlobオブジェクトを表すBLOB値へ書き込まれるバイト配列- 戻り値:
- 書き込まれるバイト数
- 例外:
SerialException-BLOB値にアクセスするときにエラーが発生した場合、設定された位置が無効な場合、設定されたオフセット値が無効な場合、またはこのオブジェクトでfreeが以前呼び出された場合SQLException- データベースからBLOB値にアクセスするときにエラーが発生した場合- 関連項目:
getBytes(long, int)
-
setBytes
public int setBytes(long pos, byte[] bytes, int offset, int length) throws SerialException, SQLExceptionこのBlobオブジェクトが表すBLOB値へ指定されたbyte配列の全部または一部を書き込み、書き込まれたバイト数を返します。 書込みは、BLOB値のposの位置から開始され、書込み先の指定されたバイト配列からlenバイト書き込まれます。- 定義:
setBytes、インタフェース:Blob- パラメータ:
pos- 書込みが開始されるBLOBオブジェクトの位置。 最初の位置は1。1以上かつこのSerialBlobオブジェクトの長さ以下でなければならない。bytes- このBLOB値へ書き込まれるバイト配列offset- バイトの読込みを開始する、byte配列のオフセット。 最初のオフセット位置は0。0以上かつこのbyte配列の長さ以下でなければならない。length- bytesバイトの配列からBLOB値に書き込まれるバイト数。- 戻り値:
- 書き込まれるバイト数
- 例外:
SerialException-BLOB値にアクセスするときにエラーが発生した場合、設定された位置が無効な場合、設定されたオフセット値が無効な場合、書き込まれるバイト数がSerialBlobの長さを超えている場合、長さとオフセットを合わせた値がBlobバッファより大きい場合、またはこのオブジェクトでfreeが以前呼び出された場合SQLException- データベースからBLOB値にアクセスするときにエラーが発生した場合。- 関連項目:
getBytes(long, int)
-
setBinaryStream
public OutputStream setBinaryStream(long pos) throws SerialException, SQLException
このBlobオブジェクトが表すBLOB値への書込みに使用できるストリームを取得します。 ストリームはposの位置から開始します。 このメソッドは、このSerialBlobオブジェクトがBlobによってインスタンス化されている場合に、setBinaryStream()呼出しを配下のBlobに転送します。 このSerialBlobがbyte配列によってインスタンス化されている場合はSerialExceptionがスローされます。- 定義:
setBinaryStream、インタフェース:Blob- パラメータ:
pos- 書込みが開始されるBLOB値の位置。- 戻り値:
- データが書き込まれる
java.io.OutputStreamオブジェクト - 例外:
SQLException-BLOB値にアクセスするときにエラーが発生した場合SerialException- SerialBlobがsetBinaryStream()をサポートするBlobオブジェクトでインスタンス化されていない場合、またはこのオブジェクトでfreeが以前呼び出された場合- 関連項目:
getBinaryStream()
-
truncate
public void truncate(long length) throws SerialExceptionこのBlobオブジェクトが表すBLOB値をlenバイトの長さに切り詰めます。- 定義:
truncate、インタフェース:Blob- パラメータ:
length- このBlobオブジェクトが表すBLOB値が切り詰められる長さ(バイト単位)- 例外:
SerialException- Blob値にアクセスするときにエラーが発生した場合、切り詰める長さがSerialBlobの長さよりも長い場合、またはこのオブジェクトでfreeが以前呼び出された場合
-
getBinaryStream
public InputStream getBinaryStream(long pos, long length) throws SQLException
Blob値の一部(バイト位置posから長さlengthバイト分)を格納したInputStreamオブジェクトを返します。- 定義:
getBinaryStream、インタフェース:Blob- パラメータ:
pos- 取得する部分値の最初のバイトまでのオフセット。Blob内で最初のバイトの位置は1length- 取得する部分値の長さ(バイト単位)- 戻り値:
Blob値の一部を読み取ることのできるInputStream。- 例外:
SQLException- posが1より小さい場合、posがBlob内のバイト数より大きい場合、またはpos+lengthがBlob内のバイト数より大きい場合SerialException- このオブジェクトでfreeメソッドが以前呼び出された場合- 導入されたバージョン:
- 1.6
-
free
public void free() throws SQLExceptionこのメソッドは、SerialBlobオブジェクトを解放し、保持しているリソースを解放します。freeメソッドが一度呼び出されたあとは、オブジェクトは無効になります。freeを複数回呼び出した場合、2回目以降のfree呼出しは何も行わないものとして扱われます。- 定義:
free、インタフェース:Blob- 例外:
SQLException- Blobのリソースの解放時にエラーが発生した場合- 導入されたバージョン:
- 1.6
-
equals
public boolean equals(Object obj)
このSerialBlobを指定されたオブジェクトと比較します。 引数がnullではなく、このオブジェクトと同じ文字シーケンスを表すSerialBlobオブジェクトである場合にのみ、結果はtrueになります。- オーバーライド:
equals、クラス:Object- パラメータ:
obj- このSerialBlobと比較するオブジェクト- 戻り値:
- 指定されたオブジェクトがこのSerialBlobに等しい
SerialBlobを表す場合はtrue、それ以外の場合はfalse - 関連項目:
Object.hashCode()、HashMap
-
hashCode
public int hashCode()
このSerialBlobのハッシュ・コードを返します。- オーバーライド:
hashCode、クラス:Object- 戻り値:
- このオブジェクトのハッシュ・コード値
- 関連項目:
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
-
-