モジュール jdk.jdi
パッケージ com.sun.jdi.event

インタフェースEventSet

すべてのスーパー・インタフェース:
Collection<Event>, Iterable<Event>, Mirror, Set<Event>

public interface EventSet extends Mirror, Set<Event>
指定された時間にターゲット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とのみ
  • 同一の例外発生に対するほかの例外イベントとのみ一緒にされる:
  • 同じメソッド終了のほかのMethodExitEventとのみ
  • 同一モニター・オブジェクトのMonitor contended enterイベントとのみ一緒にされる:
    • Monitor Contended Enterイベント
  • 同一モニター・オブジェクトのMonitor contended enteredイベントとのみ一緒にされる:
    • Monitor Contended Enteredイベント
  • 同一モニター・オブジェクトのモニター待機イベントとのみ一緒にされる:
    • モニター待機イベント
  • 同一モニター・オブジェクトのモニター待機終了イベントとのみ一緒にされる:
    • モニター待機終了イベント
  • 同一位置および同一スレッド内の、このグループのほかのメンバーとのみ一緒にされる:

導入されたバージョン:
1.3
関連項目:
  • メソッドの詳細

    • suspendPolicy

      int suspendPolicy()
      このイベント・セットの、ターゲットVMでスレッドを中断するために使用されるポリシーを返します。 このポリシーは、各イベントの要求の中断ポリシーから選択されます。ターゲットVMは、もっとも多くのスレッドを中断するポリシーを選択します。 ターゲットVMはそのポリシーに従ってスレッドを中断し、そのポリシーがここで返されます。 指定可能なポリシー値については、EventRequestを参照してください。

      まれなケースですが、デバッガ・システム・スレッドでClassPrepareEventが発生した場合、中断ポリシーが要求された値と異なる場合があります。 詳細は、ClassPrepareEvent.thread()を参照してください。

      戻り値:
      SUSPEND_ALLSUSPEND_EVENT_THREAD、またはSUSPEND_NONEのいずれかのsuspendPolicy。
    • eventIterator

      EventIterator eventIterator()
      Eventオブジェクトに固有のイテレータを返します。
    • resume

      void resume()
      このイベント・セットによって中断されたスレッドを再開します。 suspendPolicy()EventRequest.SUSPEND_ALLの場合、このメソッドの呼出しはVirtualMachine.resume()と同じです。 中断ポリシーがEventRequest.SUSPEND_EVENT_THREADの場合、このメソッドの呼出しはイベント・スレッドに対するThreadReference.resume()と同じです。 そうでない場合は、このメソッドへの呼出しは無操作になります。