|
Java Debug Interface | ||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
public interface EventRequest
イベントの通知要求を表します。たとえば、BreakpointRequest
、ExceptionRequest
などの要求があります。有効な要求が存在するイベントが発生すると、EventSet
が EventQueue
に追加されます。既存のイベント要求のコレクションは EventRequestManager
により管理されます。
イベント要求に対して生成されるイベントの数は、フィルタを使って制御できます。フィルタで、イベントがイベントキューに配置される前に満たさなければならない制限を追加します。複数のフィルタを使用する場合は、ExceptionRequest.addClassFilter(java.lang.String classPattern)
のようなフィルタ追加メソッドを複数回呼び出します。あるイベントが無効に設定されている間、フィルタはそのイベントに対して一度に 1 つだけ追加されます。複数のフィルタは、カットオフとともに、要求に追加された順序で適用されます。すべてのフィルタ条件を満たすイベントだけがイベントキューに配置されます。
利用可能なフィルタは、イベント要求に応じて異なります。フィルタの例を示します。
ターゲット VM が切断された場合、EventRequest
を引数に取る EventRequest
上の任意のメソッドは、VMDisconnectedException
をスローし、VMDisconnectEvent
が EventQueue
から読み出せるようになります。
EventRequest
を引数に取る EventRequest
上の任意のメソッドは、ターゲット VM のメモリーが不足すると VMOutOfMemoryException
をスローします。
BreakpointEvent
,
EventQueue
,
EventRequestManager
フィールドの概要 | |
---|---|
static int |
SUSPEND_ALL
イベントの発生時に、すべてのスレッドを中断します。 |
static int |
SUSPEND_EVENT_THREAD
イベントの発生時に、イベントを生成したスレッドだけを中断します。 |
static int |
SUSPEND_NONE
イベントの発生時に、どのスレッドも中断しません。 |
メソッドの概要 | |
---|---|
void |
addCountFilter(int count)
要求されたイベントのレポートを、指定された回数だけ発生した後、最高 1 回に制限する。 |
void |
disable()
{@link #setEnabled setEnabled(false) と同様です。 |
void |
enable()
と同様です。 |
Object |
getProperty(Object key)
指定されたキーを持つプロパティーの値を返します。 |
boolean |
isEnabled()
このイベント要求が現在有効かどうかを判定します。 |
void |
putProperty(Object key,
Object value)
この要求に任意のキーと値の「プロパティー」を追加します。 |
void |
setEnabled(boolean val)
このイベント要求を有効または無効にします。 |
void |
setSuspendPolicy(int policy)
ターゲット VM 内で要求されたイベントが発生する際に中断するスレッドを判定します。 |
int |
suspendPolicy()
ターゲット VM 内で要求されたイベントが発生する際に中断するスレッドを規定した値を返します。 |
インタフェース com.sun.jdi.Mirror から継承されたメソッド |
---|
toString, virtualMachine |
フィールドの詳細 |
---|
static final int SUSPEND_NONE
static final int SUSPEND_EVENT_THREAD
static final int SUSPEND_ALL
メソッドの詳細 |
---|
boolean isEnabled()
true
、それ以外の場合は false
。void setEnabled(boolean val)
EventRequestManager.breakpointRequests()
などのイベント要求リスト内に含まれます。
val
- イベント要求を有効にする場合は true
、それ以外の場合は false
。
InvalidRequestStateException
- この要求が削除された場合。
IllegalThreadStateException
- このイベント要求が StepRequest であり、val
に true
が指定され、この要求が指定するスレッドがすでに終了している場合。void enable()
setEnabled(true)
と同様です。
InvalidRequestStateException
- この要求が削除された場合。
IllegalThreadStateException
- このイベント要求が StepRequest であり、この要求が指定するスレッドがすでに終了している場合。void disable()
setEnabled(false)
と同様です。
InvalidRequestStateException
- この要求が削除された場合。void addCountFilter(int count)
count - 1
回に達する時点までは、イベントはレポートされない。1 回かぎりのイベントを要求するには、このメソッドをカウント 1 で呼び出します。カウントが 0 に達したあとは、この要求内の続くフィルタが適用される。それらのフィルタがいずれもイベントを抑制しない場合、そのイベントはレポートされる。そうでない場合、イベントはレポートされない。どちらの場合にも、この要求に対して、それ以降のイベントがレポートされることはない。
count
- イベントを生成する前の発生回数。
InvalidRequestStateException
- この要求が現在有効になっている場合、または削除されている場合。
フィルタは無効な要求にだけ追加できる。
IllegalArgumentException
- count
が 1 未満の場合。void setSuspendPolicy(int policy)
SUSPEND_ALL
を使用します (デフォルト)。イベントを生成したスレッドだけを中断する場合は SUSPEND_EVENT_THREAD
を使用します。スレッドを中断しない場合は SUSPEND_NONE
を使用します。
イベントを介したスレッドの中断は、明示的に要求された中断と同一の機能を保持します。詳細は、ThreadReference.suspend()
と VirtualMachine.suspend()
を参照してください。
policy
- 選択された中断ポリシー。
InvalidRequestStateException
- この要求が現在有効になっている場合、または削除されている場合。
中断ポリシーは無効な要求にだけ設定できる。
IllegalArgumentException
- policy 引数に無効な値が含まれている場合。int suspendPolicy()
SUSPEND_ALL
、SUSPEND_EVENT_THREAD
、または SUSPEND_NONE
です。
void putProperty(Object key, Object value)
get/putProperty
メソッドは、インスタンスごとの小規模なマップへのアクセスを提供します。これを Properties
と混同しないようにしてください。
値が null の場合、このメソッドはプロパティーを削除します。
getProperty(java.lang.Object)
Object getProperty(Object key)
putProperty(java.lang.Object, java.lang.Object)
を使って追加されたプロパティーだけが、null 以外の値を返します。
putProperty(java.lang.Object, java.lang.Object)
|
Java Debug Interface | ||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |