Unofficial
"CLDC 1.1
+ MIDP 2.0"
API Reference.
(日本語版)

javax.microedition.rms
クラス RecordStore

java.lang.Object
  上位を拡張 javax.microedition.rms.RecordStore

public class RecordStore
extends Object

レコード・ストアを表すクラスです。 レコード・ストアは MIDlet アプリケーションの複数の呼び出しを超えて内容が持続しつづけるレコードの集合体です。 プラットフォームは、MIDlet のリブート、バッテリーの交換などを含むプラットフォームの正常な使用の範囲において、レコード・ストアを完全に維持するように最大限の努力をします。

レコード・ストアは MIDlet アプリケーションに露出していない、プラットフォーム依存の場所に作成されます。 レコード・ストアの名前空間は、MIDlet スイート単位でコントロールします。 個々の異なる名前を与える限り、MIDlet スイート内の各 MIDlet は複数のレコード・ストアを作成することができます。 MIDlet スイートがプラットフォームから削除される際には、その各 MIDlet に関連する全てのレコード・ストアも削除されます。 MIDlet スイート内の各 MIDlet はお互いのレコード・ストアに直接アクセスすることができます。 MIDP 2.0 の新しい API は RecordStore を作成する MIDlet が、そのような許可を付与することを選択するなら、レコード・ストアを明示的な共有を許可します。

共有は別の MIDlet スイートが作成した RecordStore の名前を通じて行います。

RecordStore は MIDlet スイートの一意な名前と RecordStore の名前を使用することで一意な命名を行います。 MIDlet スイートはアプリケーション・ディスクリプタによる MIDlet-VendorMIDlet-Name 属性から特定します。

共有されるべき RecordStore が作成させるとき、アプリケーション制御が定義されます。 RecordStore が開かれるとき、アクセス制御が実施されます。 アクセス・モードは、私用(プライベートな使用)および他のいかなる MIDlet スイートとの共有があります。

レコード・ストアの名前はセンシティブケース(大文字小文字等を同一視しない)で32個の Unicode 文字による任意の構成を使用することができます。 レコード・ストアの名前はその MIDlet スイート内において、ユニークでなければなりません。 言い換えれば、MIDlet スイート内の各 MIDlet は同じ名前のレコード・ストアを複数作成することはできません。しかし、異なる MIDlet スイート間においては同じ名前のレコード・ストアを作成することができます。 その場合、同名の各レコード・ストアは別個に扱われます。

この API はいかなるロック・オペレーションも提供しません。 レコード・ストアの実装は、各レコード・ストアに対する全てのオペレーションが、1単位(atom)であること、同期化が行われること(synchronous)、操作順に適用されること(serialized)を保証します。従って、欠落は複数の接続間で起こることはありません。 しかし、レコード・ストアにアクセスするために、MIDlet が複数のスレッドを使用するならば、その調整は MIDlet の責任で行わなければなりません。これを行わなかった場合、意図していない結果を生じることがあります。 同様に、プラットフォームがレコード・ストアの透過的な同期を実行する場合、MIDlet と同期エンジンとの間でレコード・ストアに排他制御を実施するのはプラットフォームの責任です。

レコードはそれぞれに割り当てられるレコード ID(これは int 値である)によって、レコード・ストア内でユニークに識別されます。 このレコード ID はレコードのために主キーとして使用します。 レコード・ストア内で作成された最初のレコードのレコード ID は 1 となります。 レコード・ストアに後から加えられた個々のレコードはその前に加えられたレコードのレコード ID よりも 1 大きな値が割り当てられます。 すなわち、2つのレコードがレコード・ストアに加えられ、1番目のレコードのレコード ID が n である場合、次のレコードのレコード ID は n + 1 となります。 各 MIDlet は RecordEnumeration インタフェースの使用により、RecordStore のレコードの他のシーケンスを作成することができます。

このレコード・ストアは System.currentTimeMillis() メソッドによって返される日時情報を表す long 型の値を使用します。 レコード・ストアは前回内容が修正された時刻を記録するためにこの値を使用します。 また、レコード・ストアはバージョンを保持しています。 バージョンはレコード・ストアの内容を変更する操作のたびにインクリメントされる整数です。 これらは、同期エンジンで使用する際にも役立ちます。

導入されたバージョン:
MIDP 1.0

フィールドの概要
static int AUTHMODE_ANY
          全ての MIDlet スイートにアクセスを許容する許可を与えます。
static int AUTHMODE_PRIVATE
          現在の MIDlet スイートだけにアクセスを許容する許可を与えます。
 
メソッドの概要
 int addRecord(byte[] data, int offset, int numBytes)
          レコード・ストアに新しいレコードを加えます。
 void addRecordListener(RecordListener listener)
          指定された RecordListener を追加します。
 void closeRecordStore()
          MIDlet アプリケーションがレコード・ストアのクローズを要求する場合にこのメソッドを呼び出します。
 void deleteRecord(int recordId)
          レコード ID に対応するレコードをレコード・ストアから削除します。
static void deleteRecordStore(String recordStoreName)
          指定された名前のレコード・ストアを削除します。
 RecordEnumeration enumerateRecords(RecordFilter filter, RecordComparator comparator, boolean keepUpdated)
          レコード・ストアをオプションで指定された順序に1セットのレコードを横断するための列挙を返します。
 long getLastModified()
          このレコード・ストアが最後に更新された日時を System.currentTimeMillis() によって使用されているフォーマットで返します。
 String getName()
          この RecordStore の名前を返します。
 int getNextRecordID()
          次にレコード・ストアへ加えるレコードのレコード ID を返します。
 int getNumRecords()
          レコード・ストアに含まれる現在のレコード数を返します。
 byte[] getRecord(int recordId)
          指定されたレコードに格納されているデータを返します。
 int getRecord(int recordId, byte[] buffer, int offset)
          指定されたレコードに格納されているデータを返します。
 int getRecordSize(int recordId)
          指定された MIDlet スイートが所有するレコードのサイズをバイト単位で返します。
 int getSize()
          レコード・ストアが使用しているスペースの量をバイト単位で返します。
 int getSizeAvailable()
          このレコード・ストアが利用可能な追加的なサイズをバイト単位で返します。
 int getVersion()
          レコード・ストアが変更(addRecordsetRecord、または deleteRecord メソッドによる)されるたびにバージョンは増加します。
static String[] listRecordStores()
          MIDlet スイートが持つ、全てのレコード・ストアの名前を文字列配列で返します。
static RecordStore openRecordStore(String recordStoreName, boolean createIfNecessary)
          MIDlet スイートに関連するレコード・ストアをオープンあるいは作成します。
static RecordStore openRecordStore(String recordStoreName, boolean createIfNecessary, int authmode, boolean writable)
          他の MIDlet スイートと共有することができるレコード・ストアのオープンまたは作成を行います。
static RecordStore openRecordStore(String recordStoreName, String vendorName, String suiteName)
          指定した名前の MIDlet スイートに関連するレコード・ストアをオープンします。
 void removeRecordListener(RecordListener listener)
          指定された RecordListener を削除します。
 void setMode(int authmode, boolean writable)
          この RecordStore のアクセス・モードを変更します。
 void setRecord(int recordId, byte[] newData, int offset, int numBytes)
          指定されたレコードに渡されたデータを格納します。
 
クラス java.lang.Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

AUTHMODE_PRIVATE

public static final int AUTHMODE_PRIVATE

現在の MIDlet スイートだけにアクセスを許容する許可を与えます。 AUTHMODE_PRIVATE の値は 0 です。

導入されたバージョン:
MIDP 2.0
関連項目:
定数フィールド値

AUTHMODE_ANY

public static final int AUTHMODE_ANY

全ての MIDlet スイートにアクセスを許容する許可を与えます。 AUTHMODE_ANY の値は 1 です。

導入されたバージョン:
MIDP 2.0
関連項目:
定数フィールド値
メソッドの詳細

deleteRecordStore

public static void deleteRecordStore(String recordStoreName)
                              throws RecordStoreException,
                                     RecordStoreNotFoundException

指定された名前のレコード・ストアを削除します。 MIDlet スイートは自分自身が所有するレコード・ストアのみを削除することができます。 このメソッドが呼び出された際に、該当するレコード・ストアが MIDlet アプリケーションによって開かれている場合は RecordStoreException を throw します。 また指定された名前のレコード・ストアが存在しない場合には RecordStoreNotFoundException を throw します。 このメソッドの呼び出しは、RecordStore に登録されたリスナーの recordDeleted の呼び出しにはつながりません。

パラメータ:
recordStoreName - MIDlet スイートが所有している削除する対象のレコード・ストアの名前を渡します。
例外:
RecordStoreException - 一般的なレコード・ストアに関する例外が発生した場合に throw します。
RecordStoreNotFoundException - 対応するレコード・ストアが存在しない場合に throw します。

openRecordStore

public static RecordStore openRecordStore(String recordStoreName,
                                          boolean createIfNecessary)
                                   throws RecordStoreException,
                                          RecordStoreFullException,
                                          RecordStoreNotFoundException

MIDlet スイートに関連するレコード・ストアをオープンあるいは作成します。 レコード・ストアが MIDlet スイートによって既に開かれている場合、このメソッドは同じ RecordStore オブジェクトへの参照を返します。

パラメータ:
recordStoreName - MIDlet スイート内においてユニークな 32 文字以内のレコード・ストアの名前を渡します。
createIfNecessary - 必要に応じて新しいレコード・ストアを作成する場合は true を、作成しない場合は false を渡します。
戻り値:
このレコード・ストアの RecordStore オブジェクトを返します。
例外:
RecordStoreException - 一般的なレコード・ストアに関する例外が発生した場合に throw します。
RecordStoreNotFoundException - 対応するレコード・ストアが存在しない場合に throw します。
RecordStoreFullException - レコード・ストアに空き容量がなく操作を完了できない場合に throw します。
IllegalArgumentException - パラメータ recordStoreName が無効ならば throw します。

openRecordStore

public static RecordStore openRecordStore(String recordStoreName,
                                          boolean createIfNecessary,
                                          int authmode,
                                          boolean writable)
                                   throws RecordStoreException,
                                          RecordStoreFullException,
                                          RecordStoreNotFoundException

他の MIDlet スイートと共有することができるレコード・ストアのオープンまたは作成を行います。 RecordStore は現在の MIDlet スイートによって所有されます。 レコード・ストアが作成されるとき、許可モードは以下のように設定されます:

所有している MIDlet スイートは、常に RecordStore にアクセスし、書き込みおよび更新をすることができます。

レコード・ストアが MIDlet スイートの MIDlet によって既に開かれているとき、このメソッドが MIDlet から呼び出されると、このメソッドは同じ RecordStore オブジェクトの参照を返します。

パラメータ:
recordStoreName - MIDlet スイート内においてユニークな 32 文字以内のレコード・ストアの名前を渡します。
createIfNecessary - 必要に応じて新しいレコード・ストアを作成する場合は true を、作成しない場合は false を渡します。
authmode - アクセスをチェックするかまたは作成するためのモードを渡します。 RecordStore が存在しているなら、このパラメータは無視します。
writable - true ならば RecordStore はアクセスが承諾され、他の MIDlet スイートによって書き込み可能になります。 RecordStore が存在しているなら、このパラメータは無視します。
戻り値:
レコード・ストアに対応する RecordStore オブジェクトを返します。
例外:
RecordStoreException - レコード・ストアに関連する例外が発生した場合に throw します。
RecordStoreNotFoundException - 対応するレコード・ストアが存在しない場合に throw します。
RecordStoreFullException - レコード・ストアに空き容量がなく操作を完了できない場合に throw します。
IllegalArgumentException - パラメータ authmode または recordStoreName が無効ならば throw します。
導入されたバージョン:
MIDP 2.0

openRecordStore

public static RecordStore openRecordStore(String recordStoreName,
                                          String vendorName,
                                          String suiteName)
                                   throws RecordStoreException,
                                          RecordStoreNotFoundException

指定した名前の MIDlet スイートに関連するレコード・ストアをオープンします。 MIDlet スイートは MIDlet ベンダーと MIDlet 名によって特定します。 RecordStore の許可モードが現在の MIDlet スイートによってアクセスが許可される場合に限り、アクセスは許可されます。 レコード・ストアが作成されるときに、アクセスを制限する許可モードが設定されます:

レコード・ストアが MIDlet スイートの MIDlet によって既に開かれているとき、このメソッドが MIDlet から呼び出されると、このメソッドは同じ RecordStore オブジェクトの参照を返します。

MIDlet がそれ自身のスイートのレコード・ストアを開くためにこのメソッドを呼ぶなら、振る舞いは以下の呼び出しと同一です: openRecordStore(recordStoreName, false)

パラメータ:
recordStoreName - 1〜32個の Unicode 文字による、MIDlet スイートに固有のレコード・ストアの名前を渡します。
vendorName - MIDlet スイートを所有するベンダーを渡します。
suiteName - MIDlet スイートの名前を渡します。
戻り値:
レコード・ストアに対応する RecordStore オブジェクトを返します。
例外:
RecordStoreException - レコード・ストアに関連する例外が発生した場合に throw します。
RecordStoreNotFoundException - 対応するレコード・ストアが存在しない場合に throw します。
SecurityException - この MIDlet スイートが指定された RecordStore を開くことが許可されていないなら throw します。
IllegalArgumentException - パラメータ recordStoreName が無効ならば throw します。
導入されたバージョン:
MIDP 2.0

setMode

public void setMode(int authmode,
                    boolean writable)
             throws RecordStoreException

この RecordStore のアクセス・モードを変更します。 許可モードの選択は以下の通りです:

所有している MIDlet スイートは、常に RecordStore にアクセスし、書き込みおよび更新をすることができます。 RecordStore を所有している MIDlet スイートだけがモードを変更することができます。

パラメータ:
authmode - アクセスをチェックするかまたは作成するためのモードを渡します。 AUTHMODE_PRIVATE または AUTHMODE_ANY のいずれか1つでなければなりません。
writable - true ならば RecordStore はアクセスが承諾され、他の MIDlet スイートによって書き込み可能になります。
例外:
RecordStoreException - レコード・ストアに関連する例外が発生した場合に throw します。
SecurityException - この MIDlet スイートが RecordStore のモードを変更することを許可されていないなら throw します。
IllegalArgumentException - パラメータ authmode が無効ならば throw します。
導入されたバージョン:
MIDP 2.0

closeRecordStore

public void closeRecordStore()
                      throws RecordStoreNotOpenException,
                             RecordStoreException

MIDlet アプリケーションがレコード・ストアのクローズを要求する場合にこのメソッドを呼び出します。 openRecordStore(java.lang.String, boolean) メソッドを呼び出してオープンした回数このメソッドを呼び出すまで、実際にはレコード・ストアがクローズされないことに注意が必要です。 言い換えれば、MIDlet アプリケーションはレコード・ストアをオープンする呼び出しと同じ回数のクローズする処理を作成することを必要とされています。

レコード・ストアがクローズされる際、登録されているリスナーは全て削除されます。 クローズされた RecordStore オブジェクトに対して操作の実行を MIDlet アプリケーションが行おうとした場合、メソッドは RecordStoreNotOpenException を throw します。

例外:
RecordStoreNotOpenException - レコード・ストアがオープンされていない場合に throw します。
RecordStoreException - 一般的なレコード・ストアに関する例外が発生した場合に throw します。

listRecordStores

public static String[] listRecordStores()

MIDlet スイートが持つ、全てのレコード・ストアの名前を文字列配列で返します。 MIDlet スイートがレコード・ストアを所有していない場合、このメソッドは null を返すことに注意が必要です。 レコード・ストアの名前が格納される順序は実装に依存します。

戻り値:
MIDlet スイートが所有しているレコード・ストアの名前を格納した文字列配列あるいは null を返します。

getName

public String getName()
               throws RecordStoreNotOpenException

この RecordStore の名前を返します。

戻り値:
この RecordStore の名前を返します。
例外:
RecordStoreNotOpenException - レコード・ストアがオープンされていない場合に throw します。

getVersion

public int getVersion()
               throws RecordStoreNotOpenException

レコード・ストアが変更(addRecordsetRecord、または deleteRecord メソッドによる)されるたびにバージョンは増加します。 MIDlet は、何か変更された否かをすばやく判定するためにこれを使用することができます。 初期のバージョン番号は実装に依存します。 増加は 0 以上の正数です。 RecordStore の更新後にかぎって、バージョン番号は増加します。 増分値は一定である必要はなく、各更新によって異なるかもしれません。

戻り値:
レコード・ストアの現在のバージョンを返します。
例外:
RecordStoreNotOpenException - レコード・ストアがオープンされていない場合に throw します。

getNumRecords

public int getNumRecords()
                  throws RecordStoreNotOpenException

レコード・ストアに含まれる現在のレコード数を返します。

戻り値:
レコード・ストアに含まれる現在のレコード数を返します。
例外:
RecordStoreNotOpenException - レコード・ストアがオープンされていない場合に throw します。

getSize

public int getSize()
            throws RecordStoreNotOpenException

レコード・ストアが使用しているスペースの量をバイト単位で返します。 返すサイズには、レコード・ストアなどの状態を管理するために使用される管理領域のような実装に関連した全てのオーバーヘッダを含んでいます。

戻り値:
レコード・ストアが使用しているバイト数を返します。
例外:
RecordStoreNotOpenException - レコード・ストアがオープンされていない場合に throw します。

getSizeAvailable

public int getSizeAvailable()
                     throws RecordStoreNotOpenException

このレコード・ストアが利用可能な追加的なサイズをバイト単位で返します。 実装がネイティブ・アプリケーションや同期などの組み込みを可能にするために、各レコードに追加データ構造を格納することがあるため、これが必ずしもさらに格納できる MIDlet レベルのデータ量ではないことに注意が必要です。

戻り値:
このレコード・ストアが利用可能な追加的なサイズがバイト単位で返します。
例外:
RecordStoreNotOpenException - レコード・ストアがオープンされていない場合に throw します。

getLastModified

public long getLastModified()
                     throws RecordStoreNotOpenException

このレコード・ストアが最後に更新された日時を System.currentTimeMillis() によって使用されているフォーマットで返します。

戻り値:
このレコード・ストアが最後に更新された日時を System.currentTimeMillis() によって使用されているフォーマットで返します。
例外:
RecordStoreNotOpenException - レコード・ストアがオープンされていない場合に throw します。

addRecordListener

public void addRecordListener(RecordListener listener)

指定された RecordListener を追加します。 指定されたリスナーが既に登録されている場合は、初回以後の登録時には追加を行いません。 レコード・ストアがクローズされる際にリスナーは全て削除されます。

パラメータ:
listener - 登録するリスナー・オブジェクトを渡します。
関連項目:
removeRecordListener(javax.microedition.rms.RecordListener)

removeRecordListener

public void removeRecordListener(RecordListener listener)

指定された RecordListener を削除します。 指定されたリスナーが登録されていないければ、このメソッドは何も処理を行いません。

パラメータ:
listener - 削除するリスナー・オブジェクトを渡します。
関連項目:
addRecordListener(javax.microedition.rms.RecordListener)

getNextRecordID

public int getNextRecordID()
                    throws RecordStoreNotOpenException,
                           RecordStoreException

次にレコード・ストアへ加えるレコードのレコード ID を返します。 これは擬似リレーショナル関係を構築するのに役立てることができます。 すなわち、そのレコードがお互いを参照する必要のある2つレコード・ストアが存在知る場合に、別のレコード・ストアにレコードを格納する前に、一方のレコード・ストアの中に追加されるレコードのレコード ID を先行して決定することができます。 レコード・ストアがオープン状態を保つ間かつ addRecord(byte[], int, int) を呼び出すまで、このメソッドが返すレコード ID が有効であることに注意が必要です。

戻り値:
次にこのレコード・ストアに追加されるレコードのレコード ID を返します。
例外:
RecordStoreNotOpenException - レコード・ストアがオープンされていない場合に throw します。
RecordStoreException - 一般的なレコード・ストアに関する例外が発生した場合に throw します。

addRecord

public int addRecord(byte[] data,
                     int offset,
                     int numBytes)
              throws RecordStoreNotOpenException,
                     RecordStoreException,
                     RecordStoreFullException

レコード・ストアに新しいレコードを加えます。 この新しいレコードのためのレコード ID を返します。 これはブロックを伴う分割不可能な操作です。 このメソッドから処理が戻る前に、そのレコードは内容を保持するストレージに書き込まれます。

パラメータ:
data - このレコードに格納するデータを渡します。なお、numBytes0 の場合、null を渡すことができます。
offset - data の示す配列中のデータを開始する位置を渡します。
numBytes - このレコードへ格納するデータのバイト数を渡します。0 を指定することもできます。
戻り値:
新しいレコードのレコード ID を返します。
例外:
RecordStoreNotOpenException - レコード・ストアがオープンされていない場合に throw します。
RecordStoreException - 一般的なレコード・ストアに関する例外が発生した場合に throw します。
RecordStoreFullException - レコード・ストアに空き容量がなく操作を完了できない場合に throw します。
SecurityException - この MIDlet による RecordStore へのアクセスが読み取り専用の場合に throw します。

deleteRecord

public void deleteRecord(int recordId)
                  throws RecordStoreNotOpenException,
                         InvalidRecordIDException,
                         RecordStoreException

レコード ID に対応するレコードをレコード・ストアから削除します。 そのレコードのためのレコード ID が再使用されることはありません。

パラメータ:
recordId - 削除対象のレコードのレコード ID を渡します。
例外:
RecordStoreNotOpenException - レコード・ストアがオープンされていない場合に throw します。
InvalidRecordIDException - レコード ID が不適切な場合に throw します。
RecordStoreException - 一般的なレコード・ストアに関する例外が発生した場合に throw します。
SecurityException - この MIDlet による RecordStore へのアクセスが読み取り専用の場合に throw します。

getRecordSize

public int getRecordSize(int recordId)
                  throws RecordStoreNotOpenException,
                         InvalidRecordIDException,
                         RecordStoreException

指定された MIDlet スイートが所有するレコードのサイズをバイト単位で返します。

パラメータ:
recordId - 対象のレコードに対応するレコード ID を渡します。
戻り値:
対象レコードのサイズをバイト単位で返します。
例外:
RecordStoreNotOpenException - レコード・ストアがオープンされていない場合に throw します。
InvalidRecordIDException - レコード ID が不適切な場合に throw します。
RecordStoreException - 一般的なレコード・ストアに関する例外が発生した場合に throw します。

getRecord

public int getRecord(int recordId,
                     byte[] buffer,
                     int offset)
              throws RecordStoreNotOpenException,
                     InvalidRecordIDException,
                     RecordStoreException

指定されたレコードに格納されているデータを返します。

パラメータ:
recordId - 対象のレコードに対応するレコード ID を渡します。
buffer - データをコピーする先の byte 配列を渡します。
offset - データのコピーを開始する buffer 内の位置を渡します。
戻り値:
位置 offset から始まる、buffer へコピーしたデータのバイト数を返します。
例外:
RecordStoreNotOpenException - レコード・ストアがオープンされていない場合に throw します。
InvalidRecordIDException - レコード ID が不適切な場合に throw します。
RecordStoreException - 一般的なレコード・ストアに関する例外が発生した場合に throw します。
ArrayIndexOutOfBoundsException - レコードが buffer に格納しきれない場合に throw します。
関連項目:
setRecord(int, byte[], int, int)

getRecord

public byte[] getRecord(int recordId)
                 throws RecordStoreNotOpenException,
                        InvalidRecordIDException,
                        RecordStoreException

指定されたレコードに格納されているデータを返します。

パラメータ:
recordId - 対象のレコードに対応するレコード ID を渡します。
戻り値:
レコードの内容をコピーした byte 配列を返します。 レコードにデータが格納されていない場合、null を返すことに注意が必要です。
例外:
RecordStoreNotOpenException - レコード・ストアがオープンされていない場合に throw します。
InvalidRecordIDException - レコード ID が不適切な場合に throw します。
RecordStoreException - 一般的なレコード・ストアに関する例外が発生した場合に throw します。
関連項目:
setRecord(int, byte[], int, int)

setRecord

public void setRecord(int recordId,
                      byte[] newData,
                      int offset,
                      int numBytes)
               throws RecordStoreNotOpenException,
                      InvalidRecordIDException,
                      RecordStoreException,
                      RecordStoreFullException

指定されたレコードに渡されたデータを格納します。 このメソッドの実行後、getRecord(recordId) を呼び出すと、numBytes サイズのデータを格納して返します。

パラメータ:
recordId - 対象のレコードに対応するレコード ID を渡します。
newData - 新しくレコードに格納するデータを渡します。
offset - 格納するデータを取り出す newData 内の位置を渡します。
numBytes - レコードへ格納する newData 内のデータのバイト数を渡します。
例外:
RecordStoreNotOpenException - レコード・ストアがオープンされていない場合に throw します。
InvalidRecordIDException - レコード ID が不適切な場合に throw します。
RecordStoreException - 一般的なレコード・ストアに関する例外が発生した場合に throw します。
RecordStoreFullException - レコード・ストアに空き容量がなく操作を完了できない場合に throw します。
SecurityException - この MIDlet スイートが指定された RecordStore を開くことが許可されていないなら throw します。
関連項目:
getRecord(int, byte[], int)

enumerateRecords

public RecordEnumeration enumerateRecords(RecordFilter filter,
                                          RecordComparator comparator,
                                          boolean keepUpdated)
                                   throws RecordStoreNotOpenException

レコード・ストアをオプションで指定された順序に1セットのレコードを横断するための列挙を返します。

filternull でなければ、レコード・ストアからレコードの部分集合を作成する対象を決定するために使用します。

comparatornull でなければ、返すレコードの順序を決定するために使用します。

filtercomparator 両方が null ならば、列挙は未定義の順序でレコード・ストアの全てのレコードを横断します。 これは、レコード・ストアのレコード全てを横断するために最も効率的な方法です。 filternullcomparator と共に使用されると、列挙は未定義の順番にフィルタをかけたレコードを横断します。 RecordEnumeration.nextRecord() の最初の呼び出しは、順序の先頭にあるレコードのデータを返します。 RecordEnumeration.nextRecord() のその後の呼び出しは、次の連続したレコードのデータを返します。 現在の位置から前方に連続しているレコードからデータを返すためには RecordEnumeration.previousRecord() を呼び出します。 一方で最初の呼び出しが RecordEnumeration.previousRecord() の場合、列挙の最後に位置するレコードからデータを返します。 個々の RecordEnumeration.previousRecord() の呼び出しは順序を通して前へ(後方から先頭へ向かって)進みます。

パラメータ:
filter - null でなければ、レコード・ストアのレコードの部分集合を作成する際に対象を決定するために使用します。
comparator - null でなければ、返すレコードの順序を決定するために使用します。
keepUpdated - true ならば、レコード・ストアのレコードおいてどのような変化が生じたとしても現在の列挙を維持します。 性能的な問題が発生する可能性があるため、慎重に使用する必要があります。 false ならば、列挙は直ちに現状を反映せずに、削除されたレコードに対応するレコード ID を返すか、あるいは後から追加されたレコードを対象としないかもしれません。 また、列挙が作成された後にそれが変更されると順序が適切ではない状態のレコードを返すかもしれません。 レコードを後で検索するとき、直接あるいは列挙を通したレコード・ストアにおけるレコードへの全ての変化が正確に反映されることに注意してください。 このパラメータを false を指定すると、レコードが変更されるか、加えられるか、または削除されるとき、フィルタリングおよび列挙の順序をソートに対してにリスクが生じます。
戻り値:
レコード・ストアでオプションで指定された順序で1セットのレコードを横断するための列挙を返します。
例外:
RecordStoreNotOpenException - レコード・ストアがオープンされていない場合に throw します。
関連項目:
RecordEnumeration.rebuild()

Unofficial
"CLDC 1.1
+ MIDP 2.0"
API Reference.
(日本語版)

公式仕様書原文の著作権表記等(※):

Mobile Information Device Profile Specification ("Specification")
Version: 2.0
Status: FCS
Release: November 5, 2002

Copyright 2002 Sun Microsystems, Inc. and Motorola, Inc.
All rights reserved.
※ただしこの API リファレンスは英語仕様を一語一句正確に翻訳したものではなく、一度私が英語の仕様原文を読んだ上で元の意味と構造をなるべく保つように書き起こしたものです。このため一部は完全に異なる説明となっています。また CLDC 1.1 部分は同仕様の範囲外であるため、まったく参考とはしていません。

※仕様書のライセンス上、問題は無いと考えておりますが、万が一問題があるとお考えの関係者の方がいらっしゃいましたらメールにて連絡をいただけると幸いに存じます(第一言語に日本語、第二言語に英語を希望しますが、返信は基本的に日本語で行います)。

この API リファレンスは仕様書の日本語版という位置づけでは作成していませんし、仕様書ほど厳格でもありません。MUST、SHOULD、MAY などの仕様の条件を強調する文を維持していません(反映すらしていない個所もあります)。仮想マシンおよび MIDP の実装のために使用することは避けてください。そのような用途には必ず公式仕様書原文そのものを用いるべきです。
この API リファレンスに記載されている内容は"さかきけい"が Sun Microsystems, Inc や Motorola, Inc、Java Community Process が公開している各種公式資料を元に、独自に調査・編集したものであり、Sun Microsystems, Inc や Motorola, Inc、Java Community Process 等とは一切関係ありません。したがってこの API リファレンスに関する問い合わせを関係各社等に対して行うことを固く禁じます。
また、記載された内容には既知か否かに関らず誤りが含まれる可能性があり、一切保証はありません。本 API リファレンスを使用した結果、不利益が生じたとしても"さかきけい"は一切の責任を負いません。
許可無く公開/非公開および Internet/Intranet/LAN を問わず他サイトに転載すること、複写および複製すること、ローカル・ファイル等に保存することを禁じます。


Copyright© 2001-2002,2005-2009,2011 by KEI SAKAKI.
ALL RIGHTS RESERVED.
無断転載を禁じます。

Unofficial "CLDC 1.0 + MIDP 1.0" API Reference はこちらです。