Module jdk.jdi

Interface ClassPrepareRequest

所有超级接口:
EventRequest, Mirror

public interface ClassPrepareRequest extends EventRequest
请求在目标虚拟机中准备类时进行通知。当启用的ClassPrepareRequest被满足时,一个包含ClassPrepareEvent的事件集将被放置在EventQueue中。现有的ClassPrepareRequests集合由EventRequestManager管理。

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

自版本:
1.3
参见:
  • Field Summary

    Fields declared in interface com.sun.jdi.request.EventRequest

    SUSPEND_ALL, SUSPEND_EVENT_THREAD, SUSPEND_NONE
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    限制此请求生成的事件仅限于准备与此受限制正则表达式不匹配的引用类型。
    void
    限制此请求生成的事件仅限于准备给定引用类型及其任何子类型。
    void
    addClassFilter(String classPattern)
    限制此请求生成的事件仅限于准备与此受限制正则表达式匹配的引用类型。
    void
    addSourceNameFilter(String sourceNamePattern)
    限制此请求生成的事件仅限于准备其源名称模式与正在准备的引用类型的“sourceNames”之一匹配的引用类型。也就是说,如果refType是正在准备的ReferenceType,则在refType.availableStrata()返回的列表中存在至少一个stratum,称之为“someStratum”,使得refType.sourceNames(someStratam)返回的列表中的名称与“sourceNamePattern”匹配。正则表达式仅限于精确匹配和以“*”开头或以“*”结尾的模式;例如,“*.Foo”或“java.*”。

    Methods declared in interface com.sun.jdi.Mirror

    toString, virtualMachine
  • Method Details

    • addClassFilter

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

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

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

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

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

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