JavaTM Platform
Standard Ed. 6

javax.sql.rowset.serial
クラス SerialBlob

java.lang.Object
  上位を拡張 javax.sql.rowset.serial.SerialBlob
すべての実装されたインタフェース:
Serializable, Cloneable, Blob

public class SerialBlob
extends Object
implements Blob, Serializable, Cloneable

Java プログラミング言語での SQL BLOB 値の直列化マッピングです。

SerialBlob クラスは、Blob オブジェクトからインスタンスを作成するためのコンストラクタを提供します。Blob オブジェクトは、SerialBlob オブジェクトを構築する前に、クライアントに SQL BLOB 値のデータを渡す必要があります。SQL BLOB 値のデータは、クライアント上で、Blob.getBytes メソッドによってバイト配列として生成されます。 または、Blob.getBinaryStream メソッドによって未解釈のバイトストリームとして生成されます。

SerialBlob メソッドは、SerialBlob オブジェクトをバイト配列またはストリームとしてコピーできます。さらに、SerialBlob オブジェクト内で、指定されたバイトパターンや Blob オブジェクトを検索し、Blob オブジェクトを更新または切り詰めることもできます。

関連項目:
直列化された形式

コンストラクタの概要
SerialBlob(Blob blob)
          指定された Blob オブジェクトの直列化されたバージョンである SerialBlob オブジェクトを構築します。
SerialBlob(byte[] b)
          指定された byte 配列の直列化されたバージョンである SerialBlob オブジェクトを構築します。
 
メソッドの概要
 void free()
          このメソッドは、Blob オブジェクトを解放して、保持されているリソースを解放します。
 InputStream getBinaryStream()
          この SerialBlob オブジェクトを入力ストリームとして返します。
 InputStream getBinaryStream(long pos, long length)
          Blob 値の一部 (バイト位置 pos から長さ length バイト分) を格納した InputStream オブジェクトを返します。
 byte[] getBytes(long pos, int length)
          この SerialBlob オブジェクトの指定の位置から、指定されたバイト数を別のバイト配列にコピーします。
 long length()
          この SerialBlob オブジェクトのバイト配列のバイト数を取得します。
 long position(Blob pattern, long start)
          この SerialBlob オブジェクト内で、指定の Blob オブジェクトが開始される位置を返します。
 long position(byte[] pattern, long start)
          この SerialBlob オブジェクト内で、指定されたバイトパターンが開始される位置を返します。
 OutputStream setBinaryStream(long pos)
          この BLOB オブジェクトが表す Blob 値への書き込みに使用するストリームを取得します。
 int setBytes(long pos, byte[] bytes)
          この Blob オブジェクトが表す BLOB 値へ指定されたバイト配列を pos の位置から書き込み、書き込まれたバイト数を返します。
 int setBytes(long pos, byte[] bytes, int offset, int length)
          この Blob オブジェクトが表す BLOB 値へ指定された byte 配列の全部または一部を書き込み、書き込まれたバイト数を返します。
 void truncate(long length)
          この Blob オブジェクトが表す BLOB 値を len バイトの長さに切り詰めます。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

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 オブジェクトは、あらかじめデータベースからクライアントへ SQL BLOB 値のデータを渡しておく必要があります。そうしないと、新しい SerialBlob オブジェクトは、データを持たないオブジェクトになります。

パラメータ:
blob - この SerialBlob オブジェクトの 構築に使用される Blob オブジェクト。 null 以外
例外:
SerialException - 直列化でエラーが発生した場合
SQLException - このコンストラクタに渡された Blobnull の場合
関連項目:
Blob
メソッドの詳細

getBytes

public byte[] getBytes(long pos,
                       int length)
                throws SerialException
この SerialBlob オブジェクトの指定の位置から、指定されたバイト数を別のバイト配列にコピーします。

コピーされるバイト数がこの SerialBlob オブジェクトのバイト配列より長くなる場合、配列の長さに合わせて切り詰められます。

定義:
インタフェース Blob 内の getBytes
パラメータ:
pos - この SerialBlob オブジェクト内の コピーされる最初のバイトの位置。 1 から開始され、 1 より小さい値にはならない。 また、この SerialBlob オブジェクトの長さ以下でなければならない
length - コピーされるバイト数
戻り値:
この SerialBlob オブジェクトの コピー領域となるバイト配列。 指定位置から指定のバイト数分続く
例外:
SerialException - 指定された開始位置が範囲外にある場合
関連項目:
Blob.setBytes(long, byte[])

length

public long length()
            throws SerialException
この SerialBlob オブジェクトのバイト配列のバイト数を取得します。

定義:
インタフェース Blob 内の length
戻り値:
この SerialBlob オブジェクトのバイト配列の バイト数を示す long
例外:
SerialException - エラーが発生した場合

getBinaryStream

public InputStream getBinaryStream()
                            throws SerialException
この SerialBlob オブジェクトを入力ストリームとして返します。関連メソッド setBinaryStream とは異なり、SerialBlobBlob オブジェクトによって作成されたか、または byte 配列によって作成されたかに関係なく、ストリームが生成されます。

定義:
インタフェース Blob 内の getBinaryStream
戻り値:
この SerialBlob のバイト配列を 格納する java.io.InputStream オブジェクト
例外:
SerialException - エラーが発生した場合
関連項目:
setBinaryStream(long)

position

public long position(byte[] pattern,
                     long start)
              throws SerialException,
                     SQLException
この SerialBlob オブジェクト内で、指定されたバイトパターンが開始される位置を返します。 検索は指定位置から開始されます。

定義:
インタフェース Blob 内の position
パラメータ:
pattern - 検索対象のバイトパターン
start - この SerialBlob オブジェクト内で、 検索が開始されるバイトの位置。 最初の位置は 11 以上かつ この SerialBlob オブジェクトの長さ以下でなければならない
戻り値:
この SerialBlob オブジェクト内で、 指定されたバイトパターンが開始される位置。検索は指定位置から開始される。 パターンが見つからない場合や 開始位置が範囲外にある場合は -1。 戻り値の位置番号は 1 から開始される
例外:
SerialException - blob の直列化中にエラーが発生した場合
SQLException - データベースから BLOB 値にアクセスするときに エラーが発生した場合

position

public long position(Blob pattern,
                     long start)
              throws SerialException,
                     SQLException
この SerialBlob オブジェクト内で、指定の Blob オブジェクトが開始される位置を返します。 検索は指定位置から開始されます。

定義:
インタフェース Blob 内の position
パラメータ:
pattern - 検索対象の Blob オブジェクト
start - この SerialBlob オブジェクト内で、 検索が開始されるバイトの位置。 最初の位置は 11 以上かつ この SerialBlob オブジェクトの長さ以下でなければならない
戻り値:
この SerialBlob オブジェクト内で、 指定された Blob オブジェクトが開始される位置。検索は指定位置から開始される。 パターンが見つからない場合や 開始位置が範囲外にある場合は -1。 戻り値の位置番号は 1 から開始される
例外:
SerialException - blob の直列化中にエラーが発生した場合
SQLException - データベースから BLOB 値にアクセスするときに エラーが発生した場合

setBytes

public int setBytes(long pos,
                    byte[] bytes)
             throws SerialException,
                    SQLException
この Blob オブジェクトが表す BLOB 値へ指定されたバイト配列を pos の位置から書き込み、書き込まれたバイト数を返します。

定義:
インタフェース Blob 内の setBytes
パラメータ:
pos - 書き込みが開始される SQL BLOB 値の 位置。最初の位置は 11 以上かつこの SerialBlob オブジェクトの長さ以下でなければならない
bytes - この Blob オブジェクトを表す BLOB 値へ書き込まれるバイト配列
戻り値:
書き込まれるバイト数
例外:
SerialException - BLOB 値にアクセスするときにエラーが発生した場合、 設定された位置が無効な場合、 または設定されたオフセット値が無効な場合
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 バイト書き込まれます。

定義:
インタフェース Blob 内の setBytes
パラメータ:
pos - 書き込みが開始される BLOB オブジェクトの 位置。最初の位置は 11 以上かつこの SerialBlob オブジェクトの長さ以下でなければならない
bytes - この BLOB 値へ書き込まれるバイト配列 value
offset - バイトの読み込みを開始する byte 配列の オフセット。最初のオフセット位置は 00 以上かつ byte 配列の長さ以下でなければならない
length - バイト配列 bytes から BLOB 値へ 書き込まれるバイト数
戻り値:
書き込まれるバイト数
例外:
SerialException - BLOB 値にアクセスするときにエラーが発生した場合、 設定された位置が無効な場合、 設定されたオフセット値が無効な場合、 書き込まれるバイト数が SerialBlob の長さを超えている場合、 または長さとオフセットを合わせた値が Blob バッファーより大きい場合
SQLException - データベースから BLOB 値にアクセスするときに エラーが発生した場合
関連項目:
getBytes(long, int)

setBinaryStream

public OutputStream setBinaryStream(long pos)
                             throws SerialException,
                                    SQLException
この BLOB オブジェクトが表す Blob 値への書き込みに使用するストリームを取得します。ストリームは pos の位置から開始します。このメソッドは、この SerialBlob オブジェクトが Blob によってインスタンス化されている場合に、setBinaryStream() を配下の Blob に転送します。この SerialBlobbyte 配列によってインスタンス化されている場合は SerialException がスローされます。

定義:
インタフェース Blob 内の setBinaryStream
パラメータ:
pos - 書き込みが開始される BLOB 値の 位置
戻り値:
データが書き込まれる java.io.OutputStream オブジェクト
例外:
SQLException - BLOB 値にアクセスするときにエラーが発生した場合
SerialException - SerialBlob が setBinaryStream() をサポートする Blob オブジェクトによって インスタンス化されていない場合
関連項目:
getBinaryStream()

truncate

public void truncate(long length)
              throws SerialException
この Blob オブジェクトが表す BLOB 値を len バイトの長さに切り詰めます。

定義:
インタフェース Blob 内の truncate
パラメータ:
length - この Blob オブジェクトが表す BLOB 値が切り詰められる長さ (バイト単位)
例外:
SerialException - Blob 値にアクセスするときにエラーが発生した場合、 または切り詰める長さが SerialBlob の長さよりも長い場合

getBinaryStream

public InputStream getBinaryStream(long pos,
                                   long length)
                            throws SQLException
Blob 値の一部 (バイト位置 pos から長さ length バイト分) を格納した InputStream オブジェクトを返します。

定義:
インタフェース Blob 内の getBinaryStream
パラメータ:
pos - 取得する部分値の最初のバイトまでのオフセット。Blob 内で最初のバイトの位置は 1
length - 取得する部分値の長さ (バイト単位)
戻り値:
Blob 値の一部を読み取ることのできる InputStream
例外:
SQLException - pos が 1 より小さい場合、pos が Blob 内のバイト数より大きい場合、または pos + length が Blob 内のバイト数より大きい場合
導入されたバージョン:
1.6

free

public void free()
          throws SQLException
このメソッドは、Blob オブジェクトを解放して、保持されているリソースを解放します。Blob オブジェクト。free メソッドが一度呼び出されたあとは、オブジェクトは無効になります。free を複数回呼び出した場合、2 回目以降の free 呼び出しは何も行わないものとして扱われます。

定義:
インタフェース Blob 内の free
例外:
SQLException - Blob のリソースの解放時にエラーが発生した場合
導入されたバージョン:
1.6

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。