|
Unofficial "CLDC 1.1 + MIDP 2.0" API Reference. (日本語版) |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object javax.microedition.rms.RecordStore
public class RecordStore
レコード・ストアを表すクラスです。 レコード・ストアは MIDlet アプリケーションの複数の呼び出しを超えて内容が持続しつづけるレコードの集合体です。 プラットフォームは、MIDlet のリブート、バッテリーの交換などを含むプラットフォームの正常な使用の範囲において、レコード・ストアを完全に維持するように最大限の努力をします。
レコード・ストアは MIDlet アプリケーションに露出していない、プラットフォーム依存の場所に作成されます。
レコード・ストアの名前空間は、MIDlet スイート単位でコントロールします。
個々の異なる名前を与える限り、MIDlet スイート内の各 MIDlet は複数のレコード・ストアを作成することができます。
MIDlet スイートがプラットフォームから削除される際には、その各 MIDlet に関連する全てのレコード・ストアも削除されます。
MIDlet スイート内の各 MIDlet はお互いのレコード・ストアに直接アクセスすることができます。
MIDP 2.0 の新しい API は RecordStore
を作成する MIDlet が、そのような許可を付与することを選択するなら、レコード・ストアを明示的な共有を許可します。
共有は別の MIDlet スイートが作成した RecordStore
の名前を通じて行います。
RecordStore
は MIDlet スイートの一意な名前と RecordStore
の名前を使用することで一意な命名を行います。
MIDlet スイートはアプリケーション・ディスクリプタによる MIDlet-Vendor
と MIDlet-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
型の値を使用します。
レコード・ストアは前回内容が修正された時刻を記録するためにこの値を使用します。
また、レコード・ストアはバージョンを保持しています。
バージョンはレコード・ストアの内容を変更する操作のたびにインクリメントされる整数です。
これらは、同期エンジンで使用する際にも役立ちます。
フィールドの概要 | |
---|---|
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()
レコード・ストアが変更( addRecord 、setRecord 、または 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 |
フィールドの詳細 |
---|
public static final int AUTHMODE_PRIVATE
現在の MIDlet スイートだけにアクセスを許容する許可を与えます。
AUTHMODE_PRIVATE
の値は 0
です。
public static final int AUTHMODE_ANY
全ての MIDlet スイートにアクセスを許容する許可を与えます。
AUTHMODE_ANY
の値は 1
です。
メソッドの詳細 |
---|
public static void deleteRecordStore(String recordStoreName) throws RecordStoreException, RecordStoreNotFoundException
指定された名前のレコード・ストアを削除します。
MIDlet スイートは自分自身が所有するレコード・ストアのみを削除することができます。
このメソッドが呼び出された際に、該当するレコード・ストアが MIDlet アプリケーションによって開かれている場合は RecordStoreException
を throw します。
また指定された名前のレコード・ストアが存在しない場合には RecordStoreNotFoundException
を throw します。
このメソッドの呼び出しは、RecordStore
に登録されたリスナーの recordDeleted
の呼び出しにはつながりません。
recordStoreName
- MIDlet スイートが所有している削除する対象のレコード・ストアの名前を渡します。
RecordStoreException
- 一般的なレコード・ストアに関する例外が発生した場合に throw します。
RecordStoreNotFoundException
- 対応するレコード・ストアが存在しない場合に throw します。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 します。public static RecordStore openRecordStore(String recordStoreName, boolean createIfNecessary, int authmode, boolean writable) throws RecordStoreException, RecordStoreFullException, RecordStoreNotFoundException
他の MIDlet スイートと共有することができるレコード・ストアのオープンまたは作成を行います。
RecordStore
は現在の MIDlet スイートによって所有されます。
レコード・ストアが作成されるとき、許可モードは以下のように設定されます:
AUTHMODE_PRIVATE
- RecordStore
を作成した MIDlet だけが、それにアクセスすることができます。
このケースは openRecordStore(recordStoreName, createIfNecessary)
と同様に反応します。
AUTHMODE_ANY
- 全ての MIDlet に RecordStore
へアクセスすることを許可します。
この 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 します。public static RecordStore openRecordStore(String recordStoreName, String vendorName, String suiteName) throws RecordStoreException, RecordStoreNotFoundException
指定した名前の MIDlet スイートに関連するレコード・ストアをオープンします。
MIDlet スイートは MIDlet ベンダーと MIDlet 名によって特定します。
RecordStore
の許可モードが現在の MIDlet スイートによってアクセスが許可される場合に限り、アクセスは許可されます。
レコード・ストアが作成されるときに、アクセスを制限する許可モードが設定されます:
AUTHMODE_PRIVATE
- vendorName
と suiteName
が現在の MIDlet スイートを特定する場合に限り成功します。
このケースは openRecordStore(recordStoreName, createIfNecessary)
と同様に反応します。
AUTHMODE_ANY
- 常に成功します。
この MIDlet の RecordStore
がデバイス上のいかなる他の MIDlet でもアクセス可能になることに注意が必要です。
これは共有することによってデータのプライバシーと安全性の問題があるかもしれません。
よく検討してください。
信頼されていない MIDlet スイートがデータを共有することが可能ですが、これは推奨されません。
信頼されていない 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 します。public void setMode(int authmode, boolean writable) throws RecordStoreException
この RecordStore
のアクセス・モードを変更します。
許可モードの選択は以下の通りです:
AUTHMODE_PRIVATE
- RecordStore
を作成した MIDlet だけが、それにアクセスすることができます。
このケースは openRecordStore(recordStoreName, createIfNecessary)
と同様に反応します。
AUTHMODE_ANY
- 全ての MIDlet に RecordStore
へアクセスすることを許可します。
この MIDlet の RecordStore
がデバイス上のいかなる他の MIDlet でもアクセス可能になることに注意が必要です。
これは共有することによってデータのプライバシーと安全性の問題があるかもしれません。
よく検討してください。
所有している MIDlet スイートは、常に RecordStore
にアクセスし、書き込みおよび更新をすることができます。
RecordStore
を所有している MIDlet スイートだけがモードを変更することができます。
authmode
- アクセスをチェックするかまたは作成するためのモードを渡します。
AUTHMODE_PRIVATE
または AUTHMODE_ANY
のいずれか1つでなければなりません。writable
- true
ならば RecordStore
はアクセスが承諾され、他の MIDlet スイートによって書き込み可能になります。
RecordStoreException
- レコード・ストアに関連する例外が発生した場合に throw します。
SecurityException
- この MIDlet スイートが RecordStore
のモードを変更することを許可されていないなら throw します。
IllegalArgumentException
- パラメータ authmode
が無効ならば throw します。public void closeRecordStore() throws RecordStoreNotOpenException, RecordStoreException
MIDlet アプリケーションがレコード・ストアのクローズを要求する場合にこのメソッドを呼び出します。
openRecordStore(java.lang.String, boolean)
メソッドを呼び出してオープンした回数このメソッドを呼び出すまで、実際にはレコード・ストアがクローズされないことに注意が必要です。
言い換えれば、MIDlet アプリケーションはレコード・ストアをオープンする呼び出しと同じ回数のクローズする処理を作成することを必要とされています。
レコード・ストアがクローズされる際、登録されているリスナーは全て削除されます。
クローズされた RecordStore
オブジェクトに対して操作の実行を MIDlet アプリケーションが行おうとした場合、メソッドは RecordStoreNotOpenException
を throw します。
RecordStoreNotOpenException
- レコード・ストアがオープンされていない場合に throw します。
RecordStoreException
- 一般的なレコード・ストアに関する例外が発生した場合に throw します。public static String[] listRecordStores()
MIDlet スイートが持つ、全てのレコード・ストアの名前を文字列配列で返します。
MIDlet スイートがレコード・ストアを所有していない場合、このメソッドは null
を返すことに注意が必要です。
レコード・ストアの名前が格納される順序は実装に依存します。
null
を返します。public String getName() throws RecordStoreNotOpenException
この RecordStore
の名前を返します。
RecordStore
の名前を返します。
RecordStoreNotOpenException
- レコード・ストアがオープンされていない場合に throw します。public int getVersion() throws RecordStoreNotOpenException
レコード・ストアが変更(addRecord
、setRecord
、または deleteRecord
メソッドによる)されるたびにバージョンは増加します。
MIDlet は、何か変更された否かをすばやく判定するためにこれを使用することができます。
初期のバージョン番号は実装に依存します。
増加は 0
以上の正数です。
RecordStore
の更新後にかぎって、バージョン番号は増加します。
増分値は一定である必要はなく、各更新によって異なるかもしれません。
RecordStoreNotOpenException
- レコード・ストアがオープンされていない場合に throw します。public int getNumRecords() throws RecordStoreNotOpenException
レコード・ストアに含まれる現在のレコード数を返します。
RecordStoreNotOpenException
- レコード・ストアがオープンされていない場合に throw します。public int getSize() throws RecordStoreNotOpenException
レコード・ストアが使用しているスペースの量をバイト単位で返します。 返すサイズには、レコード・ストアなどの状態を管理するために使用される管理領域のような実装に関連した全てのオーバーヘッダを含んでいます。
RecordStoreNotOpenException
- レコード・ストアがオープンされていない場合に throw します。public int getSizeAvailable() throws RecordStoreNotOpenException
このレコード・ストアが利用可能な追加的なサイズをバイト単位で返します。 実装がネイティブ・アプリケーションや同期などの組み込みを可能にするために、各レコードに追加データ構造を格納することがあるため、これが必ずしもさらに格納できる MIDlet レベルのデータ量ではないことに注意が必要です。
RecordStoreNotOpenException
- レコード・ストアがオープンされていない場合に throw します。public long getLastModified() throws RecordStoreNotOpenException
このレコード・ストアが最後に更新された日時を System.currentTimeMillis()
によって使用されているフォーマットで返します。
System.currentTimeMillis()
によって使用されているフォーマットで返します。
RecordStoreNotOpenException
- レコード・ストアがオープンされていない場合に throw します。public void addRecordListener(RecordListener listener)
指定された RecordListener
を追加します。
指定されたリスナーが既に登録されている場合は、初回以後の登録時には追加を行いません。
レコード・ストアがクローズされる際にリスナーは全て削除されます。
listener
- 登録するリスナー・オブジェクトを渡します。removeRecordListener(javax.microedition.rms.RecordListener)
public void removeRecordListener(RecordListener listener)
指定された RecordListener
を削除します。
指定されたリスナーが登録されていないければ、このメソッドは何も処理を行いません。
listener
- 削除するリスナー・オブジェクトを渡します。addRecordListener(javax.microedition.rms.RecordListener)
public int getNextRecordID() throws RecordStoreNotOpenException, RecordStoreException
次にレコード・ストアへ加えるレコードのレコード ID を返します。
これは擬似リレーショナル関係を構築するのに役立てることができます。
すなわち、そのレコードがお互いを参照する必要のある2つレコード・ストアが存在知る場合に、別のレコード・ストアにレコードを格納する前に、一方のレコード・ストアの中に追加されるレコードのレコード ID を先行して決定することができます。
レコード・ストアがオープン状態を保つ間かつ addRecord(byte[], int, int)
を呼び出すまで、このメソッドが返すレコード ID が有効であることに注意が必要です。
RecordStoreNotOpenException
- レコード・ストアがオープンされていない場合に throw します。
RecordStoreException
- 一般的なレコード・ストアに関する例外が発生した場合に throw します。public int addRecord(byte[] data, int offset, int numBytes) throws RecordStoreNotOpenException, RecordStoreException, RecordStoreFullException
レコード・ストアに新しいレコードを加えます。 この新しいレコードのためのレコード ID を返します。 これはブロックを伴う分割不可能な操作です。 このメソッドから処理が戻る前に、そのレコードは内容を保持するストレージに書き込まれます。
data
- このレコードに格納するデータを渡します。なお、numBytes
が 0
の場合、null
を渡すことができます。offset
- data
の示す配列中のデータを開始する位置を渡します。numBytes
- このレコードへ格納するデータのバイト数を渡します。0
を指定することもできます。
RecordStoreNotOpenException
- レコード・ストアがオープンされていない場合に throw します。
RecordStoreException
- 一般的なレコード・ストアに関する例外が発生した場合に throw します。
RecordStoreFullException
- レコード・ストアに空き容量がなく操作を完了できない場合に throw します。
SecurityException
- この MIDlet による RecordStore
へのアクセスが読み取り専用の場合に throw します。public void deleteRecord(int recordId) throws RecordStoreNotOpenException, InvalidRecordIDException, RecordStoreException
レコード ID に対応するレコードをレコード・ストアから削除します。 そのレコードのためのレコード ID が再使用されることはありません。
recordId
- 削除対象のレコードのレコード ID を渡します。
RecordStoreNotOpenException
- レコード・ストアがオープンされていない場合に throw します。
InvalidRecordIDException
- レコード ID が不適切な場合に throw します。
RecordStoreException
- 一般的なレコード・ストアに関する例外が発生した場合に throw します。
SecurityException
- この MIDlet による RecordStore
へのアクセスが読み取り専用の場合に throw します。public int getRecordSize(int recordId) throws RecordStoreNotOpenException, InvalidRecordIDException, RecordStoreException
指定された MIDlet スイートが所有するレコードのサイズをバイト単位で返します。
recordId
- 対象のレコードに対応するレコード ID を渡します。
RecordStoreNotOpenException
- レコード・ストアがオープンされていない場合に throw します。
InvalidRecordIDException
- レコード ID が不適切な場合に throw します。
RecordStoreException
- 一般的なレコード・ストアに関する例外が発生した場合に throw します。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)
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)
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)
public RecordEnumeration enumerateRecords(RecordFilter filter, RecordComparator comparator, boolean keepUpdated) throws RecordStoreNotOpenException
レコード・ストアをオプションで指定された順序に1セットのレコードを横断するための列挙を返します。
filter
が null
でなければ、レコード・ストアからレコードの部分集合を作成する対象を決定するために使用します。
comparator
が null
でなければ、返すレコードの順序を決定するために使用します。
filter
と comparator
両方が null
ならば、列挙は未定義の順序でレコード・ストアの全てのレコードを横断します。
これは、レコード・ストアのレコード全てを横断するために最も効率的な方法です。
filter
が null
の comparator
と共に使用されると、列挙は未定義の順番にフィルタをかけたレコードを横断します。
RecordEnumeration.nextRecord()
の最初の呼び出しは、順序の先頭にあるレコードのデータを返します。
RecordEnumeration.nextRecord()
のその後の呼び出しは、次の連続したレコードのデータを返します。
現在の位置から前方に連続しているレコードからデータを返すためには RecordEnumeration.previousRecord()
を呼び出します。
一方で最初の呼び出しが RecordEnumeration.previousRecord()
の場合、列挙の最後に位置するレコードからデータを返します。
個々の RecordEnumeration.previousRecord()
の呼び出しは順序を通して前へ(後方から先頭へ向かって)進みます。
filter
- null
でなければ、レコード・ストアのレコードの部分集合を作成する際に対象を決定するために使用します。comparator
- null
でなければ、返すレコードの順序を決定するために使用します。keepUpdated
- true
ならば、レコード・ストアのレコードおいてどのような変化が生じたとしても現在の列挙を維持します。
性能的な問題が発生する可能性があるため、慎重に使用する必要があります。
false
ならば、列挙は直ちに現状を反映せずに、削除されたレコードに対応するレコード ID を返すか、あるいは後から追加されたレコードを対象としないかもしれません。
また、列挙が作成された後にそれが変更されると順序が適切ではない状態のレコードを返すかもしれません。
レコードを後で検索するとき、直接あるいは列挙を通したレコード・ストアにおけるレコードへの全ての変化が正確に反映されることに注意してください。
このパラメータを false
を指定すると、レコードが変更されるか、加えられるか、または削除されるとき、フィルタリングおよび列挙の順序をソートに対してにリスクが生じます。
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 部分は同仕様の範囲外であるため、まったく参考とはしていません。 ※仕様書のライセンス上、問題は無いと考えておりますが、万が一問題があるとお考えの関係者の方がいらっしゃいましたらメールにて連絡をいただけると幸いに存じます(第一言語に日本語、第二言語に英語を希望しますが、返信は基本的に日本語で行います)。 |