# Uses of Interface
com.sun.jdi.ObjectReference

Packages that use ObjectReference
Package
Description
com.sun.jdi
This is the core package of the Java Debug Interface (JDI), it defines mirrors for values, types, and the target VirtualMachine itself - as well bootstrapping facilities.
com.sun.jdi.event
This package defines JDI events and event processing.
com.sun.jdi.request
This package is used to request that a JDI event be sent under specified conditions.

## Uses of ObjectReference in com.sun.jdi

Subinterfaces of ObjectReference in com.sun.jdi
Modifier and Type
Interface
Description
`interface`
`ArrayReference`
Provides access to an array object and its components in the target VM.
`interface`
`ClassLoaderReference`
A class loader object from the target VM.
`interface`
`ClassObjectReference`
An instance of java.lang.Class from the target VM.
`interface`
`ModuleReference`
A module in the target VM.
`interface`
`StringReference`
A string object from the target VM.
`interface`
`ThreadGroupReference`
A thread group object from the target VM.
`interface`
`ThreadReference`
A thread object from the target VM.
Methods in com.sun.jdi that return ObjectReference
Modifier and Type
Method
Description
`ObjectReference`
ThreadReference.`currentContendedMonitor()`
Returns an `ObjectReference` for the monitor, if any, for which this thread is currently waiting.
`ObjectReference`
InvocationException.`exception()`
`ObjectReference`
MonitorInfo.`monitor()`
Returns the `ObjectReference` object for the monitor.
`ObjectReference`
ClassType.`newInstance(ThreadReference thread, Method method, List<? extends Value> arguments, int options)`
Constructs a new instance of this type, using the given constructor `Method` in the target VM.
`ObjectReference`
StackFrame.`thisObject()`
Returns the value of 'this' for the current frame.
Methods in com.sun.jdi that return types with arguments of type ObjectReference
Modifier and Type
Method
Description
`List<ObjectReference>`
ReferenceType.`instances(long maxInstances)`
Returns instances of this ReferenceType.
`List<ObjectReference>`
ThreadReference.`ownedMonitors()`
Returns a List containing an `ObjectReference` for each monitor owned by the thread.
`List<ObjectReference>`
ObjectReference.`referringObjects(long maxReferrers)`
Returns objects that directly reference this object.
Methods in com.sun.jdi with parameters of type ObjectReference
Modifier and Type
Method
Description
`void`
ThreadReference.`stop(ObjectReference throwable)`
Stops this thread with an asynchronous exception.
Constructors in com.sun.jdi with parameters of type ObjectReference
Modifier
Constructor
Description
``
`InvocationException(ObjectReference exception)`

## Uses of ObjectReference in com.sun.jdi.event

Methods in com.sun.jdi.event that return ObjectReference
Modifier and Type
Method
Description
`ObjectReference`
ExceptionEvent.`exception()`
Gets the thrown exception object.
`ObjectReference`
MonitorContendedEnteredEvent.`monitor()`
Returns the monitor that was entered.
`ObjectReference`
MonitorContendedEnterEvent.`monitor()`
Returns the method that was entered.
`ObjectReference`
MonitorWaitedEvent.`monitor()`
Returns the monitor object this thread waited on.
`ObjectReference`
MonitorWaitEvent.`monitor()`
Returns the monitor object that the thread about to wait.
`ObjectReference`
WatchpointEvent.`object()`
Returns the object whose field is about to be accessed/modified.

## Uses of ObjectReference in com.sun.jdi.request

Methods in com.sun.jdi.request with parameters of type ObjectReference
Modifier and Type
Method
Description
`void`
BreakpointRequest.`addInstanceFilter(ObjectReference instance)`
Restricts the events generated by this request to those in which the currently executing instance is the object specified.
`void`
ExceptionRequest.`addInstanceFilter(ObjectReference instance)`
Restricts the events generated by this request to those in which the currently executing instance ("this") is the object specified.
`void`
MethodEntryRequest.`addInstanceFilter(ObjectReference instance)`
Restricts the events generated by this request to those in which the currently executing instance ("this") is the object specified.
`void`
MethodExitRequest.`addInstanceFilter(ObjectReference instance)`
Restricts the events generated by this request to those in which the currently executing instance ("this") is the object specified.
`void`
MonitorContendedEnteredRequest.`addInstanceFilter(ObjectReference instance)`
Restricts the events generated by this request to those in which the currently executing instance ("this") is the object specified.
`void`
MonitorContendedEnterRequest.`addInstanceFilter(ObjectReference instance)`
Restricts the events generated by this request to those in which the currently executing instance ("this") is the object specified.
`void`
MonitorWaitedRequest.`addInstanceFilter(ObjectReference instance)`
Restricts the events generated by this request to those in which the currently executing instance ("this") is the object specified.
`void`
MonitorWaitRequest.`addInstanceFilter(ObjectReference instance)`
Restricts the events generated by this request to those in which the currently executing instance ("this") is the object specified.
`void`
StepRequest.`addInstanceFilter(ObjectReference instance)`
Restricts the events generated by this request to those in which the currently executing instance ("this") is the object specified.
`void`
WatchpointRequest.`addInstanceFilter(ObjectReference instance)`
Restricts the events generated by this request to those in which the currently executing instance ("this") is the object specified.