ClassUnloadRequest (Java SE 17 & JDK 17)
Description: declaration: module: jdk.jdi, package: com.sun.jdi.request, interface: ClassUnloadRequest
Keywords: com.sun.jdi.request.ClassUnloadRequest interface

Module jdk.jdi
Package com.sun.jdi.request

# Interface ClassUnloadRequest

All Superinterfaces:
  `EventRequest`, `Mirror`

public interface ClassUnloadRequest extends EventRequest
Request for notification when a class is unloaded in the target VM. When an enabled ClassUnloadRequest is satisfied, a `event set` containing an `ClassUnloadEvent` will be placed on the `EventQueue`. The collection of existing ClassUnloadRequests is managed by the `EventRequestManager`

Refer to the Java Virtual Machine Specification for more information on class unloading.

Since:
  1.3
See Also:
  - `ClassUnloadEvent`
  - `EventQueue`
  - `EventRequestManager`

- ## 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`
  `addClassExclusionFilter(String classPattern)`
  Restricts the events generated by this request to the unloading of reference types whose name does not match a restricted regular expression.
  `void`
  `addClassFilter(String classPattern)`
  Restricts the events generated by this request to the unloading of reference types whose name matches a restricted regular expression.

  ### Methods declared in interface com.sun.jdi.request.EventRequest

  `addCountFilter, disable, enable, getProperty, isEnabled, putProperty, setEnabled, setSuspendPolicy, suspendPolicy`

  ### Methods declared in interface com.sun.jdi.Mirror

  `toString, virtualMachine`

- ## Method Details

  - ### addClassFilter

    void addClassFilter(String classPattern)
    Restricts the events generated by this request to the unloading of reference types whose name matches a restricted regular expression. Regular expressions are limited to exact matches and patterns that begin with '*' or end with '*'; for example, "*.Foo" or "java.*".
    Parameters:
      `classPattern` - the pattern String to filter for.
    Throws:
      `InvalidRequestStateException` - if this request is currently enabled or has been deleted. Filters may be added only to disabled requests.

  - ### addClassExclusionFilter

    void addClassExclusionFilter(String classPattern)
    Restricts the events generated by this request to the unloading of reference types whose name does not match a restricted regular expression. Regular expressions are limited to exact matches and patterns that begin with '*' or end with '*'; for example, "*.Foo" or "java.*".
    Parameters:
      `classPattern` - the pattern String to filter against.
    Throws:
      `InvalidRequestStateException` - if this request is currently enabled or has been deleted. Filters may be added only to disabled requests.