インタフェースEventSet
指定された時間にターゲット
VirtualMachineによっていくつかのEventオブジェクトが作成されることがあります。 たとえば、指定されたLocationに複数のBreakpointRequestがあったり、BreakpointRequestと同じ位置までステップ実行したりすることがあります。 これらのEventオブジェクトは、EventSetとして一緒に送信されます。 一貫性のために、Eventオブジェクトを送信するときには常にEventSetが使用されます。 EventSetは、EventQueueによって送信されます。 EventSetは変更できません。
イベント・セットの発行と関連して、ターゲットVM内で中断が発生する場合があります。 これらの中断は、suspend policyに対応しています。 対応する再開が確実に発生するように、できるかぎりEventSet.resume()を使ってイベント・セットの処理を完了することをお勧めします。
EventSet内でグループ化されているイベントには、次の制限が適用されます。
- 常にSingletonセット
- ほかのVMDeathEventとのみ
- 同じスレッドのほかのThreadStartEventとのみ
- 同じスレッドのほかのThreadDeathEventとのみ
- 同じクラスのほかのClassPrepareEventとのみ
- 同じクラスのほかのClassUnloadEventとのみ
- 同じフィールド・アクセスのほかのAccessWatchpointEventとのみ
- 同じフィールド変更のほかのModificationWatchpointEventとのみ
- 同じ例外発生に対して他のExceptionEventsを使用する場合のみ:
- 同じメソッド終了のほかのMethodExitEventとのみ
- 同一モニター・オブジェクトのMonitor contended enterイベントとのみ一緒にされる:
- Monitor Contended Enterイベント
- 同一モニター・オブジェクトのMonitor contended enteredイベントとのみ一緒にされる:
- Monitor Contended Enteredイベント
- 同一モニター・オブジェクトのモニター待機イベントとのみ一緒にされる:
- モニター待機イベント
- 同一モニター・オブジェクトのモニター待機終了イベントとのみ一緒にされる:
- モニター待機終了イベント
- 同一位置および同一スレッド内の、このグループのほかのメンバーとのみ一緒にされる:
- 導入されたバージョン:
- 1.3
- 関連項目:
-
メソッドのサマリー
インタフェースCollectionで宣言されたメソッド
parallelStream, removeIf, stream, toArray修飾子と型メソッド説明このコレクションをソースとして、潜在的に並列のStreamを返します。default boolean指定された述語(オプションの操作)を満たす、このコレクションのすべての要素を削除します。stream()このコレクションをソースとして使用して、逐次的なStreamを返します。default <T> T[]toArray(IntFunction<T[]> generator) 指定されたgenerator関数を使用してこのコレクションのすべての要素を含む配列を返し、返された配列を割り当てます。インタフェースMirrorで宣言されたメソッド
toString, virtualMachineインタフェースSetで宣言されたメソッド
add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, spliterator, toArray, toArray修飾子と型メソッド説明boolean指定された要素がセット内になかった場合、セットに追加します(オプションの操作)。booleanaddAll(Collection<? extends Event> c) 指定されたコレクションのすべての要素について、その要素がこのセット内にない場合、セットに追加します(オプションの操作)。voidclear()セットからすべての要素を削除します(オプションの操作)。boolean指定された要素がこのセットに含まれている場合にtrueを返します。booleancontainsAll(Collection<?> c) 指定されたコレクションのすべての要素がこのセットに含まれている場合にtrueを返します。boolean指定されたオブジェクトがセットと同じかどうかを比較します。inthashCode()セットのハッシュ・コード値を返します。booleanisEmpty()このセットに要素が1つも含まれていない場合にtrueを返します。iterator()セット内の各要素についてのイテレータを返します。boolean指定された要素がセット内にあった場合、セットから削除します(オプションの操作)。booleanremoveAll(Collection<?> c) このセットから、指定されたコレクションに含まれる要素をすべて削除します(オプションの操作)。booleanretainAll(Collection<?> c) セット内の要素のうち、指定されたコレクション内にある要素だけを保持します(オプションの操作)。intsize()セット内の要素数(そのカーディナリティ)を返します。default Spliterator<Event> このセット内の要素に対するSpliteratorを作成します。Object[]toArray()セット内のすべての要素が格納されている配列を返します。<T> T[]toArray(T[] a) セット内のすべての要素を格納している配列を返します。返される配列の実行時の型は、指定された配列の型になります。
-
メソッドの詳細
-
suspendPolicy
int suspendPolicy()このイベント・セットの、ターゲットVMでスレッドを中断するために使用されるポリシーを返します。 このポリシーは、各イベントの要求の中断ポリシーから選択されます。ターゲットVMは、もっとも多くのスレッドを中断するポリシーを選択します。 ターゲットVMはそのポリシーに従ってスレッドを中断し、そのポリシーがここで返されます。 指定可能なポリシー値については、EventRequestを参照してください。まれなケースですが、デバッガ・システム・スレッドで
ClassPrepareEventが発生した場合、中断ポリシーが要求された値と異なる場合があります。 詳細は、ClassPrepareEvent.thread()を参照してください。- 戻り値:
SUSPEND_ALL、SUSPEND_EVENT_THREAD、またはSUSPEND_NONEのいずれかのsuspendPolicy。
-
eventIterator
EventIterator eventIterator()Eventオブジェクトに固有のイテレータを返します。 -
resume
void resume()このイベント・セットによって中断されたスレッドを再開します。suspendPolicy()がEventRequest.SUSPEND_ALLの場合、このメソッドの呼出しはVirtualMachine.resume()と同じです。 中断ポリシーがEventRequest.SUSPEND_EVENT_THREADの場合、このメソッドの呼出しはイベント・スレッドに対するThreadReference.resume()と同じです。 そうでない場合は、このメソッドへの呼出しは無操作になります。
-