JavaTM 2 Platform
Standard Ed. 5.0

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 オブジェクトを構築します。
 
メソッドの概要
 InputStream getBinaryStream()
          この SerialBlob オブジェクトを入力ストリームとして返します。
 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 オブジェクト内で、検索が開始されるバイトの位置。1 から開始され、1 より小さい値にはならない。また、この 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 オブジェクト内で、検索が開始されるバイトの位置。1 から開始され、1 より小さい値にはならない。また、この 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 値の位置。最初の位置は 1 であり、1 以上かつ 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 オブジェクトの位置。最初の位置は 1 であり、1 以上かつ SerialBlob オブジェクトの長さ以下でなければならない
bytes - この BLOB 値へ書き込まれるバイト配列
offset - バイトの読み込みを開始する byte 配列のオフセット。最初のオフセット位置は 0 であり、0 以上 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 の長さよりも長い場合

JavaTM 2 Platform
Standard Ed. 5.0

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

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