# Interface ClassPrepareEvent

All Superinterfaces:
  `Event, Mirror`

public interface ClassPrepareEvent extends Event
Notification of a class prepare in the target VM. See the JVM specification for a definition of class preparation. Class prepare events are not generated for primitive classes (for example, java.lang.Integer.TYPE).

Since:
  1.3
See Also:
  - `EventQueue`
  - `VirtualMachine`

## Method Summary

Modifier and Type
Method
Description
`ReferenceType`
`referenceType()`
Returns the reference type for which this event was generated.
`ThreadReference`
`thread()`
Returns the thread in which this event has occurred.

### Methods declared in interface Event

`request`

### Methods declared in interface Mirror

`toString, virtualMachine`

## Method Details

### thread

ThreadReference thread()
Returns the thread in which this event has occurred.

In rare cases, this event may occur in a debugger system thread within the target VM. Debugger threads take precautions to prevent these events, but they cannot be avoided under some conditions, especially for some subclasses of `Error`. If the event was generated by a debugger system thread, the value returned by this method is null, and if the requested suspend policy for the event was `EventRequest.SUSPEND_EVENT_THREAD`, all threads will be suspended instead, and the `EventSet.suspendPolicy()` will reflect this change.

Note that the discussion above does not apply to system threads created by the target VM during its normal (non-debug) operation.

Returns:
  a `ThreadReference` which mirrors the event's thread in the target VM, or null in the rare cases described above.

### referenceType

ReferenceType referenceType()
Returns the reference type for which this event was generated.

Returns:
  a `ReferenceType` which mirrors the class, interface, or array which has been linked.