|
|
|
|
org.eclipse.jdt.debug.core
Interface IJavaObject
-
All Superinterfaces:
-
IAdaptable,
IDebugElement,
IJavaValue,
IValue
-
All Known Subinterfaces:
-
IJavaArray,
IJavaClassObject
-
public interface IJavaObject
- extends
IJavaValue
A value referencing an object on a target VM.
-
Since:
- 2.0
-
See Also:
-
IJavaValue
-
Restriction:
- This interface is not intended to be implemented by clients.
-
Restriction:
- This interface is not intended to be extended by clients.
Method Summary
|
void
|
disableCollection
()
Prevents this object from being garbage collected. |
void
|
enableCollection
()
Permits this object to be garbage collected. |
IJavaFieldVariable
|
getField
(
String name,
boolean superField)
Returns a variable representing the field in this object
with the given name, or null if there is no
field with the given name, or the name is ambiguous. |
IJavaFieldVariable
|
getField
(
String name,
String typeSignature)
Returns a variable representing the field in this object
with the given name declared in the type with the given
signature, or null if there is no
field with the given name, or the name is ambiguous. |
IJavaThread
|
getOwningThread
()
Returns the threads which owns for the monitor associated to this object, or
null if no thread owns the monitor. |
IJavaObject[]
|
getReferringObjects
(long max)
Returns objects that directly reference this object. |
long
|
getUniqueId
()
Returns the unique id for this object. |
IJavaThread[]
|
getWaitingThreads
()
Returns the threads waiting for the monitor associated to this object, or
null if no thread is waiting for the monitor. |
IJavaValue
|
sendMessage
(
String selector,
String signature,
IJavaValue[] args,
IJavaThread thread,
boolean superSend)
Returns the result of sending the specified message to this object
with the given arguments in the specified thread. |
IJavaValue
|
sendMessage
(
String selector,
String signature,
IJavaValue[] args,
IJavaThread thread,
String typeSignature)
Returns the result of sending the specified message on the specified declaring type
to this object with the given arguments in the specified thread. |
sendMessage
IJavaValue sendMessage(
String selector,
String signature,
IJavaValue[] args,
IJavaThread thread,
boolean superSend)
throws
DebugException
- Returns the result of sending the specified message to this object
with the given arguments in the specified thread. The given
thread is resumed to perform the method invocation. The thread will suspend
in its original location when the method invocation is complete. This
method does not return until the method invocation is complete.
Invoking a method in the target VM can result in breakpoints being
hit, infinite loops, and deadlock.
-
-
-
Parameters:
-
selector - the selector of the method to be invoked -
signature - the JNI style signature of the method to be invoked -
args - the arguments of the method, which can be
null or empty if there are none -
thread - the thread in which to invoke the method -
superSend - true if the method lookup should
begin in this object's superclass
-
Returns:
- the result of invoking the method
-
Throws:
-
DebugException
- if this method fails. Reasons include:
- Failure communicating with the VM. The DebugException's
status code contains the underlying exception responsible for
the failure.
- This object does not implement the specified method
- An exception occurs while invoking the specified method
- The given thread is already performing a message send,
(status code
IJavaThread.ERR_NESTED_METHOD_INVOCATION )
- The given thread is not currently suspended
(status code
IJavaThread.ERR_THREAD_NOT_SUSPENDED )
- The given thread was explicitly suspended
(status code
IJavaThread.ERR_INCOMPATIBLE_THREAD_STATE )
sendMessage
IJavaValue sendMessage(
String selector,
String signature,
IJavaValue[] args,
IJavaThread thread,
String typeSignature)
throws
DebugException
- Returns the result of sending the specified message on the specified declaring type
to this object with the given arguments in the specified thread. The given
thread is resumed to perform the method invocation. The thread will suspend
in its original location when the method invocation is complete. This
method does not return until the method invocation is complete.
Invoking a method in the target VM can result in breakpoints being
hit, infinite loops, and deadlock.
-
-
-
Parameters:
-
selector - the selector of the method to be invoked -
signature - the JNI style signature of the method to be invoked -
args - the arguments of the method, which can be
null or empty if there are none -
thread - the thread in which to invoke the method -
typeSignature - the signature of the type in which the method
is defined or null if the method should be invoked normally using
polymorphism
-
Returns:
- the result of invoking the method
-
Throws:
-
DebugException
- if this method fails. Reasons include:
- Failure communicating with the VM. The DebugException's
status code contains the underlying exception responsible for
the failure.
- This object does not implement the specified method
- An exception occurs while invoking the specified method
- The given thread is already performing a message send,
(status code
IJavaThread.ERR_NESTED_METHOD_INVOCATION )
- The given thread is not currently suspended
(status code
IJavaThread.ERR_THREAD_NOT_SUSPENDED )
- The given thread was explicitly suspended
(status code
IJavaThread.ERR_INCOMPATIBLE_THREAD_STATE )
-
Since:
- 2.0.1
getField
IJavaFieldVariable getField(
String name,
boolean superField)
throws
DebugException
- Returns a variable representing the field in this object
with the given name, or
null if there is no
field with the given name, or the name is ambiguous.
-
-
-
Parameters:
-
name - field name -
superField - whether or not to get the field in the superclass
of this objects.
-
Returns:
- the variable representing the field, or
null
-
Throws:
-
DebugException
- if this method fails. Reasons include:
- Failure communicating with the VM. The DebugException's
status code contains the underlying exception responsible for
the failure.
getField
IJavaFieldVariable getField(
String name,
String typeSignature)
throws
DebugException
- Returns a variable representing the field in this object
with the given name declared in the type with the given
signature, or
null if there is no
field with the given name, or the name is ambiguous.
-
-
-
Parameters:
-
name - field name -
typeSignature - the signature of the type in which the field
is defined
-
Returns:
- the variable representing the field, or
null
-
Throws:
-
DebugException
- if this method fails. Reasons include:
- Failure communicating with the VM. The DebugException's
status code contains the underlying exception responsible for
the failure.
getWaitingThreads
IJavaThread[] getWaitingThreads()
throws
DebugException
- Returns the threads waiting for the monitor associated to this object, or
null if no thread is waiting for the monitor.
-
-
-
Returns:
- the thread waiting for the monitor, or
null .
-
Throws:
-
DebugException
- if this method fails. Reasons include:
- The VM is not able to retrieve the monitor information
- Failure communicating with the VM. The DebugException's
status code contains the underlying exception responsible for
the failure.
-
Since:
- 3.1
getOwningThread
IJavaThread getOwningThread()
throws
DebugException
- Returns the threads which owns for the monitor associated to this object, or
null if no thread owns the monitor.
-
-
-
Returns:
- the thread which owns the monitor, or
null .
-
Throws:
-
DebugException
- if this method fails. Reasons include:
- The VM is not able to retrieve the monitor information
- Failure communicating with the VM. The DebugException's
status code contains the underlying exception responsible for
the failure.
-
Since:
- 3.1
getReferringObjects
IJavaObject[] getReferringObjects(long max)
throws
DebugException
- Returns objects that directly reference this object.
-
-
-
Parameters:
-
max - the maximum number of references to retrieve or 0 for all references
-
Returns:
- objects that directly reference this object
-
Throws:
-
DebugException
-
Since:
- 3.3
enableCollection
void enableCollection()
throws
DebugException
- Permits this object to be garbage collected. Has no effect if this
VM does not support enabling/disabling of garbage collection of
specific objects.
-
-
-
Throws:
-
CoreException - if request fails
-
DebugException
-
Since:
- 3.4
-
See Also:
-
IJavaDebugTarget
disableCollection
void disableCollection()
throws
DebugException
- Prevents this object from being garbage collected. Has no effect if this
VM does not support enabling/disabling of garbage collection of specific
objects.
-
-
-
Throws:
-
CoreException - if request fails
-
DebugException
-
Since:
- 3.4
-
See Also:
-
IJavaDebugTarget
getUniqueId
long getUniqueId()
throws
DebugException
- Returns the unique id for this object.
-
-
-
Returns:
- unique id or -1 if this value is
null
-
Throws:
-
DebugException
-
Since:
- 3.4
Copyright (c) IBM Corp. and others 2000, 2008. All Rights Reserved.
|
|
|