- すべてのスーパー・インタフェース:
Mirror
- 既知のすべてのサブインタフェース:
AccessWatchpointRequest
,BreakpointRequest
,ClassPrepareRequest
,ClassUnloadRequest
,ExceptionRequest
,MethodEntryRequest
,MethodExitRequest
,ModificationWatchpointRequest
,MonitorContendedEnteredRequest
,MonitorContendedEnterRequest
,MonitorWaitedRequest
,MonitorWaitRequest
,StepRequest
,ThreadDeathRequest
,ThreadStartRequest
,VMDeathRequest
,WatchpointRequest
BreakpointRequest
やExceptionRequest
があります。 有効な要求が存在するイベントが発生すると、EventSet
がEventQueue
に置かれます。 既存のイベント要求のコレクションは、EventRequestManager
によって管理されます。
イベント要求のために生成されるイベントの数は、フィルタを使って制御できます。 フィルタは、イベントがイベント・キューに置かれる前に満たす必要がある追加制約を提供します。 ExceptionRequest.addClassFilter(java.lang.String classPattern)
などのフィルタ追加メソッドを複数回呼び出すことによって、複数のフィルタを使用できます。 フィルタはイベントに一度に1つ追加されます(イベントが無効のときのみ)。 複数のフィルタは、カット・オフ、かつ要求に追加された順序で適用されます。 すべてのフィルタを満たすイベントだけがイベント・キューに置かれます。
利用可能なフィルタのセットは、イベント要求に応じて異なります。フィルタの例を示します。
- スレッド・フィルタは、イベントがどのスレッドのために生成されるかを制御できる。
- クラス・フィルタは、イベントがどのクラスで発生するかを制御できる。
- インスタンス・フィルタは、イベントがどのインスタンスで発生するかを制御できる。
- カウント・フィルタは、イベントが何回報告されるかを制御できる。
ターゲットVMが切断されていて、VMDisconnectEvent
がEventQueue
から読み出されたか読出せる場合は、EventRequest
をパラメータとして取るEventRequest
上のメソッドはVMDisconnectedException
をスローします。
EventRequest
をパラメータとして取るEventRequest
上のメソッドは、ターゲットVMのメモリーが不足した場合にVMOutOfMemoryException
をスローします。
- 導入されたバージョン:
- 1.3
- 関連項目:
BreakpointEvent
,EventQueue
,EventRequestManager
-
フィールドのサマリー
修飾子と型フィールド説明static int
イベントの発生時に、すべてのスレッドを中断します。static int
イベントの発生時に、イベントを生成したスレッドだけを中断します。static int
イベントの発生時に、どのスレッドも中断しません。 -
メソッドのサマリー
修飾子と型メソッド説明void
addCountFilter(int count)
要求されたイベントが報告される回数を最大で、指定された回数発生したあと1回に制限します。void
disable()
void
enable()
setEnabled(true)
と同じ。getProperty(Object key)
指定されたキーを持つプロパティの値を返します。boolean
このイベント要求が現在有効かどうかを判定します。void
putProperty(Object key, Object value)
この要求に任意のキーと値の「プロパティ」を追加します。void
setEnabled(boolean val)
このイベント要求を有効または無効にします。void
setSuspendPolicy(int policy)
ターゲットVM内で要求されたイベントが発生する際に中断するスレッドを決定します。int
ターゲットVM内で要求されたイベントが発生する際に中断するスレッドを示す値を返します。インタフェース com.sun.jdi.Mirrorで宣言されたメソッド
toString, virtualMachine
-
フィールド詳細
-
メソッドの詳細
-
isEnabled
boolean isEnabled()このイベント要求が現在有効かどうかを判定します。- 戻り値:
- 有効な場合は
true
、そうでない場合はfalse
。
-
setEnabled
void setEnabled(boolean val)このイベント要求を有効または無効にします。 このイベント要求が無効な間、このイベント要求は無視され、ターゲットVMはそのスレッドがこのイベント要求に達した場合にも停止しません。 無効なイベント要求はそれでも存在しており、EventRequestManager.breakpointRequests()
などのイベント要求リストに含まれています。- パラメータ:
val
- イベント要求を有効にする場合はtrue
、それ以外の場合はfalse
。- 例外:
InvalidRequestStateException
- この要求が削除されている場合。IllegalThreadStateException
- これがStepRequestの場合、val
はtrue
であり、リクエストで指定されたスレッドが終了したか、まだ開始されていません。
-
enable
void enable()setEnabled(true)
と同じ。- 例外:
InvalidRequestStateException
- この要求が削除されている場合。IllegalThreadStateException
- これがStepRequestであり、リクエストに指定されたスレッドが終了したか、まだ開始されていない場合。
-
disable
void disable()- 例外:
InvalidRequestStateException
- この要求が削除されている場合。
-
addCountFilter
void addCountFilter(int count)要求されたイベントが報告される回数を最大で、指定された回数発生したあと1回に制限します。 このフィルタが最初にcount - 1
回に達する時点までは、イベントはレポートされない。 1回かぎりのイベントを要求するには、このメソッドをカウント1で呼び出せばよい。カウントが0に達したあとは、この要求内の続くフィルタが適用される。 それらのフィルタがいずれもイベントを抑制しない場合、そのイベントはレポートされる。 そうでない場合、イベントはレポートされない。 どちらの場合にも、この要求に対して、それ以降のイベントがレポートされることはない。
- パラメータ:
count
- イベントを生成する前の発生回数。- 例外:
InvalidRequestStateException
- この要求が現在有効になっている場合、または削除されている場合。 フィルタは無効な要求にだけ追加できる。IllegalArgumentException
-count
が1より小さい場合。
-
setSuspendPolicy
void setSuspendPolicy(int policy)ターゲットVM内で要求されたイベントが発生する際に中断するスレッドを決定します。 ターゲットVM内のすべてのスレッドを中断する場合はSUSPEND_ALL
を使用します(デフォルト)。 イベントを生成したスレッドだけを中断する場合はSUSPEND_EVENT_THREAD
を使用します。 スレッドを中断しない場合は、SUSPEND_NONE
を使用します。イベントに基づくスレッドの中断は、明示的に要求された中断と同じ機能です。 詳細は、
ThreadReference.suspend()
およびVirtualMachine.suspend()
を参照してください。- パラメータ:
policy
- 選択された中断ポリシー。- 例外:
InvalidRequestStateException
- この要求が現在有効になっている場合、または削除されている場合。 中断ポリシーは無効な要求にだけ設定できる。IllegalArgumentException
- policy引数に不正な値が含まれている場合。
-
suspendPolicy
int suspendPolicy()ターゲットVM内で要求されたイベントが発生する際に中断するスレッドを示す値を返します。 戻り値は、SUSPEND_ALL
、SUSPEND_EVENT_THREAD
、またはSUSPEND_NONE
です。- 戻り値:
- この要求の現在の中断モード
-
putProperty
この要求に任意のキーと値の「プロパティ」を追加します。 JDIのクライアントは、アプリケーション情報を要求に関連付けるためにこのプロパティを使用できます。これらのクライアント設定プロパティは、JDIにより内部的に使用されることはありません。get/putProperty
メソッドは、インスタンスごとの小規模なマップへのアクセスを提供します。 これをProperties
と混同しないでください。valueがnullの場合、このメソッドはプロパティを削除します。
-
getProperty
指定されたキーを持つプロパティの値を返します。putProperty(java.lang.Object, java.lang.Object)
で追加されたプロパティだけがnull以外の値を返します。- 戻り値:
- このプロパティの値またはnull
- 関連項目:
putProperty(java.lang.Object, java.lang.Object)
-