Eclipse JDT
2.0

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.

Clients are not intended to implement this interface.

Since:
2.0
See Also:
IJavaValue

Method Summary
 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.
 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.
 
Methods inherited from interface org.eclipse.jdt.debug.core.IJavaValue
getJavaType, getSignature
 
Methods inherited from interface org.eclipse.debug.core.model.IValue
getReferenceTypeName, getValueString, getVariables, hasVariables, isAllocated
 
Methods inherited from interface org.eclipse.debug.core.model.IDebugElement
getDebugTarget, getLaunch, getModelIdentifier
 
Methods inherited from interface org.eclipse.core.runtime.IAdaptable
getAdapter
 

Method Detail

sendMessage

public 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 emtpy 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)

getField

public 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

public 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.

Eclipse JDT
2.0

Copyright (c) IBM Corp. and others 2000, 2002. All Rights Reserved.