インタフェース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とのみ
  • 同じ例外発生に対して他のExceptionEventsを使用する場合のみ:
  • 同じメソッド終了のほかのMethodExitEventとのみ
  • 同一モニター・オブジェクトのMonitor contended enterイベントとのみ一緒にされる:
    • Monitor Contended Enterイベント
  • 同一モニター・オブジェクトのMonitor contended enteredイベントとのみ一緒にされる:
    • Monitor Contended Enteredイベント
  • 同一モニター・オブジェクトのモニター待機イベントとのみ一緒にされる:
    • モニター待機イベント
  • 同一モニター・オブジェクトのモニター待機終了イベントとのみ一緒にされる:
    • モニター待機終了イベント
  • 同一位置および同一スレッド内の、このグループのほかのメンバーとのみ一緒にされる:

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

    修飾子と型
    メソッド
    説明
    Eventオブジェクトに固有のイテレータを返します。
    void
    このイベント・セットによって中断されたスレッドを再開します。
    int
    このイベント・セットの、ターゲットVMでスレッドを中断するために使用されるポリシーを返します。

    インタフェースCollectionで宣言されたメソッド

    parallelStream, removeIf, stream, toArray
    修飾子と型
    メソッド
    説明
    default Stream<Event>
    このコレクションをソースとして、潜在的に並列のStreamを返します。
    default boolean
    removeIf(Predicate<? super Event> filter)
    指定された述語(オプションの操作)を満たす、このコレクションのすべての要素を削除します。
    default Stream<Event>
    このコレクションをソースとして使用して、逐次的なStreamを返します。
    default <T> T[]
    toArray(IntFunction<T[]> generator)
    指定されたgenerator関数を使用してこのコレクションのすべての要素を含む配列を返し、返された配列を割り当てます。

    インタフェースIterableで宣言されたメソッド

    forEach
    修飾子と型
    メソッド
    説明
    default void
    forEach(Consumer<? super Event> action)
    Iterableの各要素に対して指定されたアクションを、すべての要素が処理されるか、アクションが例外をスローするまで実行します。

    インタフェースMirrorで宣言されたメソッド

    toString, virtualMachine
    修飾子と型
    メソッド
    説明
    このミラーについて説明する文字列を返します。
    このミラーが属するVirtualMachineを取得します。

    インタフェースSetで宣言されたメソッド

    add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, spliterator, toArray, toArray
    修飾子と型
    メソッド
    説明
    boolean
    指定された要素がセット内になかった場合、セットに追加します(オプションの操作)。
    boolean
    addAll(Collection<? extends Event> c)
    指定されたコレクションのすべての要素について、その要素がこのセット内にない場合、セットに追加します(オプションの操作)。
    void
    セットからすべての要素を削除します(オプションの操作)。
    boolean
    指定された要素がこのセットに含まれている場合にtrueを返します。
    boolean
    指定されたコレクションのすべての要素がこのセットに含まれている場合にtrueを返します。
    boolean
    指定されたオブジェクトがセットと同じかどうかを比較します。
    int
    セットのハッシュ・コード値を返します。
    boolean
    このセットに要素が1つも含まれていない場合にtrueを返します。
    セット内の各要素についてのイテレータを返します。
    boolean
    指定された要素がセット内にあった場合、セットから削除します(オプションの操作)。
    boolean
    このセットから、指定されたコレクションに含まれる要素をすべて削除します(オプションの操作)。
    boolean
    セット内の要素のうち、指定されたコレクション内にある要素だけを保持します(オプションの操作)。
    int
    セット内の要素数(そのカーディナリティ)を返します。
    このセット内の要素に対するSpliteratorを作成します。
    セット内のすべての要素が格納されている配列を返します。
    <T> T[]
    toArray(T[] a)
    セット内のすべての要素を格納している配列を返します。返される配列の実行時の型は、指定された配列の型になります。
  • メソッドの詳細

    • 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()と同じです。 そうでない場合は、このメソッドへの呼出しは無操作になります。