Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 


Eclipse JDT
Release 3.5

org.eclipse.jdt.debug.core
Interface IJavaThread

All Superinterfaces:
IAdaptable, IDebugElement, IFilteredStep, IStep, ISuspendResume, ITerminate, IThread

public interface IJavaThread
extends IThread, IFilteredStep

A thread in a Java virtual machine.

See Also:
IThread
Restriction:
This interface is not intended to be implemented by clients.
Restriction:
This interface is not intended to be extended by clients.

Field Summary
static int ERR_INCOMPATIBLE_THREAD_STATE
          Status code indicating a request to perform a message send failed because a thread was not suspended by a step or breakpoint event.
static int ERR_NESTED_METHOD_INVOCATION
          Status code indicating a request to perform a message send failed because a thread was already performing a message send.
static int ERR_THREAD_NOT_SUSPENDED
          Status code indicating a request failed because a thread was not suspended.
 
Method Summary
 boolean canTerminateEvaluation ()
          Returns whether the currently executing IEvaluationRunnable supports termination.
  IJavaVariable findVariable ( String variableName)
          Returns a variable with the given name, or null if unable to resolve a variable with the name, or if this thread is not currently suspended.
  IJavaObject getContendedMonitor ()
          Returns a Java object for the monitor for which this thread is currently waiting or null.
 int getFrameCount ()
          Returns the number of frames in this thread.
  IJavaObject[] getOwnedMonitors ()
          Returns the monitors owned by this thread or null if this thread owns no monitors.
  IJavaThreadGroup getThreadGroup ()
          Returns the thread group this thread belongs to or null if none.
  String getThreadGroupName ()
          Returns the name of the thread group this thread belongs to, or null if none.
 boolean hasOwnedMonitors ()
          Returns whether this threads owns at least one monitor.
 boolean isDaemon ()
          Returns whether this thread is a daemon thread.
 boolean isOutOfSynch ()
          Returns whether any of the stack frames associated with this thread are running code in the VM that is out of synch with the code in the workspace.
 boolean isPerformingEvaluation ()
          Returns whether this thread is currently performing an evaluation.
 boolean isSystemThread ()
          Returns whether this thread is a system thread.
 boolean mayBeOutOfSynch ()
          Returns whether this thread may be running code in the VM that is out of synch with the code in the workspace.
 void queueRunnable ( Runnable runnable)
          Queues the given runnable with the list of runnables associated with this thread.
 void runEvaluation ( IEvaluationRunnable evaluation, IProgressMonitor monitor, int evaluationDetail, boolean hitBreakpoints)
          Invokes the given evaluation with the specified progress monitor.
 void stop ( IJavaObject exception)
          Request to stops this thread with the given exception.
 void terminateEvaluation ()
          Attempts to terminate the currently executing IEvaluationRunnable in this thread, if any.
 
Methods inherited from interface org.eclipse.debug.core.model. IThread
getBreakpoints, getName, getPriority, getStackFrames, getTopStackFrame, hasStackFrames
 
Methods inherited from interface org.eclipse.debug.core.model. IDebugElement
getDebugTarget, getLaunch, getModelIdentifier
 
Methods inherited from interface org.eclipse.core.runtime. IAdaptable
getAdapter
 
Methods inherited from interface org.eclipse.debug.core.model. ISuspendResume
canResume, canSuspend, isSuspended, resume, suspend
 
Methods inherited from interface org.eclipse.debug.core.model. ITerminate
canTerminate, isTerminated, terminate
 
Methods inherited from interface org.eclipse.debug.core.model. IFilteredStep
canStepWithFilters, stepWithFilters
 
Methods inherited from interface org.eclipse.debug.core.model. IStep
canStepInto, canStepOver, canStepReturn, isStepping, stepInto, stepOver, stepReturn
 

Field Detail

ERR_THREAD_NOT_SUSPENDED

static final int ERR_THREAD_NOT_SUSPENDED
Status code indicating a request failed because a thread was not suspended.

See Also:
Constant Field Values

ERR_NESTED_METHOD_INVOCATION

static final int ERR_NESTED_METHOD_INVOCATION
Status code indicating a request to perform a message send failed because a thread was already performing a message send.

See Also:
IJavaObject.sendMessage(String, String, IJavaValue[], IJavaThread, boolean), IJavaClassType.sendMessage(String, String, IJavaValue[], IJavaThread), IJavaClassType.newInstance(String, IJavaValue[], IJavaThread), Constant Field Values

ERR_INCOMPATIBLE_THREAD_STATE

static final int ERR_INCOMPATIBLE_THREAD_STATE
Status code indicating a request to perform a message send failed because a thread was not suspended by a step or breakpoint event. When a thread is suspended explicitly via the suspend() method, it is not able to perform method invocations (this is a JDI limitation).

See Also:
IJavaObject.sendMessage(String, String, IJavaValue[], IJavaThread, boolean), IJavaClassType.sendMessage(String, String, IJavaValue[], IJavaThread), IJavaClassType.newInstance(String, IJavaValue[], IJavaThread), Constant Field Values
Method Detail

isSystemThread

boolean isSystemThread()
                       throws 
DebugException
Returns whether this thread is a system thread.

Returns:
whether this thread is a system thread
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.

isOutOfSynch

boolean isOutOfSynch()
                     throws 
DebugException
Returns whether any of the stack frames associated with this thread are running code in the VM that is out of synch with the code in the workspace.

Returns:
whether this thread is out of synch with the workspace.
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.
  • Since:
    2.0

mayBeOutOfSynch

boolean mayBeOutOfSynch()
                        throws 
DebugException
Returns whether this thread may be running code in the VM that is out of synch with the code in the workspace.

Returns:
whether this thread may be out of synch with the workspace.
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.
  • Since:
    2.0

isPerformingEvaluation

boolean isPerformingEvaluation()
Returns whether this thread is currently performing an evaluation.

Returns:
whether this thread is currently performing an evaluation
Since:
2.0

getThreadGroupName

String getThreadGroupName()
                          throws 
DebugException
Returns the name of the thread group this thread belongs to, or null if none.

Returns:
thread group name, or null if none
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.

findVariable

IJavaVariable findVariable(
String variableName)
                           throws 
DebugException
Returns a variable with the given name, or null if unable to resolve a variable with the name, or if this thread is not currently suspended.

Variable lookup works only when a thread is suspended. Lookup is performed in all stack frames, in a top-down order, returning the first successful match, or null if no match is found.

Parameters:
variableName - the name of the variable to search for
Returns:
a variable, or null if none
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.

runEvaluation

void runEvaluation(
IEvaluationRunnable evaluation,
                   
IProgressMonitor monitor,
                   int evaluationDetail,
                   boolean hitBreakpoints)
                   throws 
DebugException
Invokes the given evaluation with the specified progress monitor. This thread fires a resume event when the evaluation begins, and a suspend event when the evaluation completes or throws an exception. The events are given a detail as specified by evaluationDetail (one of DebugEvent.EVALUATION or DebugEvent.EVALUATION_IMPLICIT).

Since 3.5, the org.eclipse.jdt.debug.breakpointListeners extension point supports evaluation execution during a listener call back. Suspend and resume events are not fired during listener call backs. Unspecified model specific events are fired.

Parameters:
evaluation - the evaluation to perform
monitor - progress monitor (may be null
evaluationDetail - one of DebugEvent.EVALUATION or DebugEvent.EVALUATION_IMPLICIT
hitBreakpoints - whether or not breakpoints should be honored in this thread during the evaluation. If false, breakpoints hit in this thread during the evaluation will be ignored.
Throws:
DebugException - if an exception occurs performing the evaluation
Since:
2.0

queueRunnable

void queueRunnable(
Runnable runnable)
Queues the given runnable with the list of runnables associated with this thread. Runnables are executed asynchronously in a separate thread. This method should be used to execute any code which performs an operation like a method invocation.

Parameters:
runnable - the runnable to execute.
Since:
2.1

terminateEvaluation

void terminateEvaluation()
                         throws 
DebugException
Attempts to terminate the currently executing IEvaluationRunnable in this thread, if any. Evaluations may be composed of a series of instructions. Terminating an evaluation means stopping the evaluation after the current instruction completes. A single instruction (such as a method invocation) cannot be interrupted.

Throws:
DebugException - if an exception occurs while terminating the evaluation.
Since:
2.1

canTerminateEvaluation

boolean canTerminateEvaluation()
Returns whether the currently executing IEvaluationRunnable supports termination. An IEvaluationRunnable supports termination if it implements ITerminate

Returns:
whether the current evaluation supports termination
Since:
2.1

getContendedMonitor

IJavaObject getContendedMonitor()
                                throws 
DebugException
Returns a Java object for the monitor for which this thread is currently waiting or null.

Returns:
IJavaObject the contended monitor object or null if this thread is not waiting on a monitor.
Throws:
DebugException - if an exception occurs while retrieving the contended monitor.
Since:
2.1

getOwnedMonitors

IJavaObject[] getOwnedMonitors()
                               throws 
DebugException
Returns the monitors owned by this thread or null if this thread owns no monitors.

Returns:
the owned monitors
Throws:
DebugException - if an exception occurs while retrieving the owned monitors of this thread.
Since:
2.1

hasOwnedMonitors

boolean hasOwnedMonitors()
                         throws 
DebugException
Returns whether this threads owns at least one monitor.

Returns:
boolean whether this thread owns a monitor
Throws:
DebugException - if an exception occurs determining if there are owned monitors.
Since:
2.1

stop

void stop(
IJavaObject exception)
          throws 
DebugException
Request to stops this thread with the given exception.
The result will be the same as calling java.lang.Thread#stop(java.lang.Throwable).
If the thread is suspended when the method is called, the thread must be resumed to complete the action.
exception must represent an exception.

Parameters:
exception - the exception to throw.
Throws:
DebugException
Since:
3.0
See Also:
Thread.stop(java.lang.Throwable)

getThreadGroup

IJavaThreadGroup getThreadGroup()
                                throws 
DebugException
Returns the thread group this thread belongs to or null if none.

Returns:
thread group or null
Throws:
DebugException
Since:
3.2

isDaemon

boolean isDaemon()
                 throws 
DebugException
Returns whether this thread is a daemon thread.

Returns:
whether this thread is a daemon thread
Throws:
DebugException - if an exception occurs while determining status
Since:
3.3

getFrameCount

int getFrameCount()
                  throws 
DebugException
Returns the number of frames in this thread.

Returns:
number of stack frames
Throws:
DebugException - if an exception occurs while retrieving the count
Since:
3.3

Eclipse JDT
Release 3.5

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

 
 
  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire