-  
       - All Superinterfaces:
-  
         Mirror
 - All Known Subinterfaces:
-  
         AccessWatchpointRequest,BreakpointRequest,ClassPrepareRequest,ClassUnloadRequest,ExceptionRequest,MethodEntryRequest,MethodExitRequest,ModificationWatchpointRequest,MonitorContendedEnteredRequest,MonitorContendedEnterRequest,MonitorWaitedRequest,MonitorWaitRequest,StepRequest,ThreadDeathRequest,ThreadStartRequest,VMDeathRequest,WatchpointRequest
 
 public interface EventRequest extends Mirror 表示事件通知请求。 示例包括BreakpointRequest和ExceptionRequest。 当发生已启用请求的事件时,EventSet将被放置在EventQueue上 。 现有事件请求的集合由EventRequestManager管理。可以通过过滤器控制为事件请求生成的事件数。 过滤器提供事件在放置到事件队列之前必须满足的其他约束。 通过多次调用过滤添加方法(如 ExceptionRequest.addClassFilter(java.lang.String classPattern)),可以使用多个过滤器。 仅在事件被禁用时,才将过滤器一次添加到事件中。 使用CUT-OFF AND应用多个过滤器,按照添加到请求的顺序。 只有满足所有过滤器的事件才会放在事件队列中。可用过滤器集取决于事件请求,过滤器的一些示例如下: - 线程过滤器允许控制生成事件的线程。
- 类过滤器允许控制事件发生的类。
- 实例过滤器允许控制事件发生的实例。
- 计数过滤器允许控制报告事件的次数。
 上的任何方法 EventRequest这需要EventRequest作为参数可能抛出VMDisconnectedException如果目标VM断开且VMDisconnectEvent从所读出的已被或可EventQueue。如果目标VM内存 EventRequest,EventRequest上的任何方法(如果参数为EventRequest)可能会抛出VMOutOfMemoryException。- 从以下版本开始:
- 1.3
- 另请参见:
-  
         BreakpointEvent,EventQueue,EventRequestManager
 
-  
        
       -  
             字段汇总字段 变量和类型 字段 描述 static intSUSPEND_ALL事件发生时挂起所有线程static intSUSPEND_EVENT_THREAD仅挂起事件发生时生成事件的线程static intSUSPEND_NONE事件发生时不挂起任何线程
 -  
             方法摘要所有方法 实例方法 抽象方法 变量和类型 方法 描述 voidaddCountFilter(int count)限制在给定次数发生后最多报告一次的请求事件。voiddisable()与setEnabled(false)相同。voidenable()与setEnabled(true)相同。ObjectgetProperty(Object key)返回具有指定键的属性的值。booleanisEnabled()确定当前是否启用了此事件请求。voidputProperty(Object key, Object value)向此请求添加任意键/值“property”。voidsetEnabled(boolean val)启用或禁用此事件请求。voidsetSuspendPolicy(int policy)确定在目标VM中发生请求的事件时要挂起的线程。intsuspendPolicy()返回一个值,该值描述在目标VM中发生请求的事件时要挂起的线程。-  
               声明方法的接口 com.sun.jdi.MirrortoString, virtualMachine
 
-  
               
 
-  
             
-  
        
       -  
             方法详细信息-  isEnabledboolean isEnabled() 确定当前是否启用了此事件请求。- 结果
-  
              true若已启用; 否则为false。
 
 -  setEnabledvoid setEnabled(boolean val) 启用或禁用此事件请求。 禁用此事件请求时,将忽略事件请求,并且如果其任何线程到达事件请求,则不会停止目标VM。 已禁用的事件请求仍然存在,并包含在事件请求列表中,例如EventRequestManager.breakpointRequests()。- 参数
-  
              val-true如果要启用事件请求; 否则为false。
- 异常
-  
              InvalidRequestStateException- 如果此请求已被删除。
-  
              IllegalThreadStateException- 如果这是StepRequest,则val是true,并且请求中指定的线程已经死亡或尚未启动。
 
 -  enablevoid enable() 与setEnabled(true)相同。- 异常
-  
              InvalidRequestStateException- 如果此请求已被删除。
-  
              IllegalThreadStateException- 如果这是StepRequest,并且请求中指定的线程已经死亡或尚未启动。
 
 -  disablevoid disable() 与setEnabled(false)相同。- 异常
-  
              InvalidRequestStateException- 如果此请求已被删除。
 
 -  addCountFiltervoid addCountFilter(int count) 限制在给定次数发生后最多报告一次的请求事件。 达到此过滤器的第一个count - 1次事件未报告。 要请求一次性事件,请使用计数1调用此方法。计数达到0后,将应用此请求中的所有后续过滤器。 如果这些过滤器都不会导致事件被抑制,则会报告该事件。 否则,不报告该事件。 在任何一种情况下,都不会为此请求报告后续事件。 - 参数
-  
              count- 生成事件之前的发生次数。
- 异常
-  
              InvalidRequestStateException- 如果此请求当前已启用或已被删除。 过滤器只能添加到已禁用的请求中。
-  
              IllegalArgumentException- 如果count小于一。
 
 -  setSuspendPolicyvoid setSuspendPolicy(int policy) 确定在目标VM中发生请求的事件时要挂起的线程。 使用SUSPEND_ALL挂起目标VM中的所有线程(默认值)。 使用SUSPEND_EVENT_THREAD仅挂起生成事件的线程。 使用SUSPEND_NONE暂停没有线程。通过事件的线程挂起具有与显式请求的挂起相同的功能。 有关详细信息,请参见 ThreadReference.suspend()和VirtualMachine.suspend()。- 参数
-  
              policy- 选定的暂停策略。
- 异常
-  
              InvalidRequestStateException- 如果此请求当前已启用或已被删除。 暂停策略只能在禁用的请求中设置。
-  
              IllegalArgumentException- 如果policy参数包含非法值。
 
 -  suspendPolicyint suspendPolicy() 返回一个值,该值描述在目标VM中发生请求的事件时要挂起的线程。 返回的值是SUSPEND_ALL,SUSPEND_EVENT_THREAD,或SUSPEND_NONE。- 结果
- 此请求的当前挂起模式
 
 -  putPropertyvoid putProperty(Object key, Object value) 向此请求添加任意键/值“property”。 JDI的客户端可以使用该属性将应用程序信息与请求相关联; JDI内部不使用这些客户端设置属性。get/putProperty方法提供对小型实例映射的访问。 这是不是有混淆Properties。如果value为null,则此方法将删除该属性。 
 -  getPropertyObject getProperty(Object key) 返回具有指定键的属性的值。 只有添加了putProperty(java.lang.Object, java.lang.Object)的属性才会返回非空值。- 结果
- 此属性的值或null
- 另请参见:
-  
              putProperty(java.lang.Object, java.lang.Object)
 
 
-  
 
-