模块 jdk.jdi

接口 ClassPrepareRequest

所有父级接口:
EventRequest , Mirror

public interface ClassPrepareRequest extends EventRequest
在目标 VM 中准备好类时请求通知。当启用的 ClassPrepareRequest 得到满足时,包含 ClassPrepareEvent event set 将被放置在 EventQueue 上。现有 ClassPrepareRequests 的集合由 EventRequestManager 管理

类准备在 Java 虚拟机规范中定义。

自从:
1.3
参见:
  • 方法详情

    • addClassFilter

      void addClassFilter(ReferenceType  refType)
      将此请求生成的事件限制为给定引用类型和任何子类型的准备。将为任何可以安全地转换为给定引用类型的准备好的引用类型生成一个事件。
      参数:
      refType - 要过滤的引用类型。
      抛出:
      InvalidRequestStateException - 如果此请求当前已启用或已被删除。过滤器只能添加到禁用的请求。
    • addClassFilter

      void addClassFilter(String  classPattern)
      将此请求生成的事件限制为准备名称与此受限正则表达式匹配的引用类型。正则表达式仅限于以'*'开头或以'*'结尾的精确匹配和模式;例如,“*.Foo”或“java.*”。
      参数:
      classPattern - 要过滤的模式字符串。
      抛出:
      InvalidRequestStateException - 如果此请求当前已启用或已被删除。过滤器只能添加到禁用的请求。
    • addClassExclusionFilter

      void addClassExclusionFilter(String  classPattern)
      将此请求生成的事件限制为引用类型的准备,其名称not匹配这个受限制的正则表达式。正则表达式仅限于以'*'开头或以'*'结尾的精确匹配和模式;例如,“*.Foo”或“java.*”。
      参数:
      classPattern - 要过滤的模式字符串。
      抛出:
      InvalidRequestStateException - 如果此请求当前已启用或已被删除。过滤器只能添加到禁用的请求。
    • addSourceNameFilter

      void addSourceNameFilter(String  sourceNamePattern)
      将此请求生成的事件限制为引用类型的准备,受限正则表达式“sourceNamePattern”与正在准备的引用类型的“sourceNames”之一匹配。也就是说,如果 refType 是正在准备的 ReferenceType,则至少存在一个层,在 refType.availableStrata() 返回的列表中将其称为“someStratum”;这样 refType.sourceNames(someStratam) 返回的列表中的名称与“sourceNamePattern”相匹配。正则表达式仅限于以'*'开头或以'*'结尾的精确匹配和模式;例如,“*.Foo”或“java.*”。

      并非所有目标都支持此操作。使用 VirtualMachine.canUseSourceNameFilters() 确定是否支持该操作。

      参数:
      sourceNamePattern - 要过滤的模式字符串。
      抛出:
      UnsupportedOperationException - 如果目标虚拟机不支持此操作。
      InvalidRequestStateException - 如果此请求当前已启用或已被删除。过滤器只能添加到禁用的请求。
      自从:
      1.6