|
Unofficial "CLDC 1.0 + MIDP 1.0" API Reference. (日本語版) |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
public interface RecordEnumeration
レコード・ストアの中のレコードを双方向に移動可能な RecordEnumeration
を定義するインタフェースです。
RecordEnumeration
は、理論上レコード・ストア内のレコードのレコード ID の順序を維持します。
この RecordEnumeration
は、レコードの全て(あるいは、もしもオプションの RecordFilter
が指定されている場合はそれに含まれるレコード)を、オプションの RecordComparator
によって決定された順序に従って列挙します。
オプションの RecordFilter
を使用することにより、レコード全体から設定したフィルタの条件に適合するレコードのみを列挙することができます。
これは条件によるサーチ機能を提供するために使用することができます。
オプションの RecordComparator
を使用することにより、コンパレータによって決定された順序にレコードを通してアクセスすることができます。
これはソート機能を提供するために使用することができます。
RecordEnumeration
にレコードが列挙された後に、レコードが RecordStore
から削除された場合、レコード ID は有効なレコードを示さない可能性があります。
この問題を回避するために、RecordEnumeration
はオプションで RecordStore
のリスナーとなり、レコードの追加と削除に対応して、内部のインデックスを再構築することができます。
しかし、このオプションを使用すると、全てのレコードの追加、変更および削除時にインデックスの再構築を行うため、実行時のパフォーマンスに対して重大な影響を与えることがあるため、特に注意が必要です。
最初の nextRecord()
の呼び出しは、シーケンスの最初のレコードからレコードデータを返します。
次の nextRecord()
の呼び出しは、次の連続するレコードのデータを返します。
列挙されたレコードの現在のポイントから1つ前のレコードデータを取得する場合には previousRecord()
を呼び出します。
最初の呼び出しが previousRecord()
の場合、列挙の最後の要素がレコードデータとして返されます。
個々の previousRecord()
の呼び出しはシーケンスを通して前へ(後方から先頭へ向かって)進みます。
レコード・ストアを検索するためには、希望のサーチ条件を持つ RecordFilter
を備え、RecordComparator
を持たない RecordEnumeration
を作成します。
メソッドの概要 | |
---|---|
void |
destroy()
この RecordEnumeration によって使用している内部リソースを解放します。 |
boolean |
hasNextElement()
さらに次のの要素が存在するか否かを判定します。 |
boolean |
hasPreviousElement()
さらに前のの要素が存在するか否かを判定します。 |
boolean |
isKeptUpdated()
この RecordEnumeration がレコード・ストアの現在の内容を変更に合わせて反映するか否かを返します。 |
void |
keepUpdated(boolean keepUpdated)
この RecordEnumeration を構成するための内部インデックスをレコード・ストアに対して追加/削除/変更時に常に最新に保つか否かを設定します。 |
byte[] |
nextRecord()
この RecordEnumeration の生成時に設定されたフィルタおよびコンパレータにより定義された、次のレコードのコピーを返します。 |
int |
nextRecordId()
この RecordEnumeration の生成時に設定されたフィルタおよびコンパレータにより定義された、次のレコードのレコード ID を返します。 |
int |
numRecords()
この RecordEnumeration が保持している利用可能なレコード数を返します。 |
byte[] |
previousRecord()
この RecordEnumeration の生成時に設定されたフィルタおよびコンパレータにより定義された、前のレコードのコピーを返します。 |
int |
previousRecordId()
この RecordEnumeration の生成時に設定されたフィルタおよびコンパレータにより定義された、前のレコードのレコード ID を返します。 |
void |
rebuild()
カレントのレコードセットの内容をこの RecordEnumeration に反映するようにリクエストします。 |
void |
reset()
この RecordEnumeration の位置を開始位置へ戻します。 |
メソッドの詳細 |
---|
int numRecords()
この RecordEnumeration
が保持している利用可能なレコード数を返します。
すなわち、保持しているレコード数はフィルタ基準と一致します。
このメソッドの呼び出しが、全てのレコード(レコード・ストアに多くのレコードがある場合、無視できない処理時間がかかるかもしれない)にフィルタを適用することにより、完全な列挙を構築することを RecordEnumeration
に要求することに注意が必要です。
RecordEnumeration
が保持している利用可能なレコード数を返します。byte[] nextRecord() throws InvalidRecordIDException, RecordStoreNotOpenException, RecordStoreException
この RecordEnumeration
の生成時に設定されたフィルタおよびコンパレータにより定義された、次のレコードのコピーを返します。
返す byte
配列はレコードのコピーです。
この配列の内容を変更しても、レコード・ストアには反映しません。
このメソッドの呼び出し後の RecordEnumeration
は使用可能な次のレコードを指します。
RecordEnumeration
内の次のレコードデータを返します。
InvalidRecordIDException
- これ以上、使用可能なレコードがない場合に throw します。
RecordStoreNotOpenException
- レコード・ストアがオープンされていない場合に throw します。
RecordStoreException
- 一般的なレコード・ストアに関する例外が発生した場合に throw します。int nextRecordId() throws InvalidRecordIDException
この RecordEnumeration
の生成時に設定されたフィルタおよびコンパレータにより定義された、次のレコードのレコード ID を返します。
このメソッドの呼び出し後の RecordEnumeration
は使用可能な次のレコードを指します。
RecordEnumeration
の次のレコード ID を返します。
InvalidRecordIDException
- これ以上、使用可能なレコードがない場合に throw します。byte[] previousRecord() throws InvalidRecordIDException, RecordStoreNotOpenException, RecordStoreException
この RecordEnumeration
の生成時に設定されたフィルタおよびコンパレータにより定義された、前のレコードのコピーを返します。
返された byte
配列はレコードのコピーです。
この配列の内容を変更しても、レコード・ストアには反映しません。
このメソッドの呼び出し後の RecordEnumeration
は使用可能な前のレコードを指します。
RecordEnumeration
内の前のレコードデータを返します。
InvalidRecordIDException
- これ以上、使用可能なレコードがない場合に throw します。
RecordStoreNotOpenException
- レコード・ストアがオープンされていない場合に throw します。
RecordStoreException
- 一般的なレコード・ストアに関する例外が発生した場合に throw します。int previousRecordId() throws InvalidRecordIDException
この RecordEnumeration
の生成時に設定されたフィルタおよびコンパレータにより定義された、前のレコードのレコード ID を返します。
このメソッドの呼び出し後の RecordEnumeration
は使用可能な前のレコードを指します。
RecordEnumeration
の前のレコード ID を返します。
InvalidRecordIDException
- これ以上、使用可能なレコードがない場合に throw します。boolean hasNextElement()
さらに次のの要素が存在するか否かを判定します。
true
を、存在しない場合は false
を返します。boolean hasPreviousElement()
さらに前のの要素が存在するか否かを判定します。
true
を、存在しない場合は false
を返します。void reset()
この RecordEnumeration
の位置を開始位置へ戻します。
void rebuild()
カレントのレコードセットの内容をこの RecordEnumeration
に反映するようにリクエストします。
MIDlet
アプリケーションがレコードに多くの変更を行い、その新しい内容を RecordEnumeration
へ反映する場合に有効なメソッドです。
keepUpdated(boolean)
void keepUpdated(boolean keepUpdated)
この RecordEnumeration
を構成するための内部インデックスをレコード・ストアに対して追加/削除/変更時に常に最新に保つか否かを設定します。
keepUpdated
に true
を指定すると常に最新の状態を維持します。
全ての変更において RecordEnumeration
を維持することにより、性能的な問題が発生する可能性があります。
このため、この設定は慎重に行わなければなりません。
false
を指定した場合、RecordEnumeration
は直ちに現状を反映せず、削除されたレコードあるいは後で追加されたレコードを対象としないレコード ID を返すことが許されます。
また、RecordEnumeration
構築後に修正された結果、フィルタの対象外となるレコードも返します。
keepUpdated
- レコード・ストアの変更と RecordEnumeration
による内容を一致させる場合は true
を、そうでなければ false
を渡します。rebuild()
boolean isKeptUpdated()
この RecordEnumeration
がレコード・ストアの現在の内容を変更に合わせて反映するか否かを返します。
true
を、そうでなければ false
を返します。void destroy()
この RecordEnumeration
によって使用している内部リソースを解放します。
RecordEnumeration を使用して、その使用を終了する際、MIDlet アプリケーションはこのメソッドを呼ぶべきです。
このメソッドが呼ばれた後の RecordEnumeration を MIDlet アプリケーションが使用しようとする場合、IllegalStateException
を throw します。
IllegalStateException
- 既にこのメソッドを呼び出した RecordEnumeration
に対してこのメソッドを呼び出すと throw します。
|
Unofficial "CLDC 1.0 + MIDP 1.0" API Reference. (日本語版) |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |