org.eclipse.ease.lang.python.jython.debugger

## Class JythonDebuggerEngine

- java.lang.Object
- - org.eclipse.core.runtime.PlatformObject
  - - org.eclipse.core.internal.jobs.InternalJob
    - - org.eclipse.core.runtime.jobs.Job
      - - org.eclipse.ease.AbstractScriptEngine
        - - org.eclipse.ease.AbstractReplScriptEngine
          - - org.eclipse.ease.lang.python.jython.JythonScriptEngine
            - - org.eclipse.ease.lang.python.jython.debugger.JythonDebuggerEngine

All Implemented Interfaces:
  java.lang.Comparable, IAdaptable, IDebugEngine, IReplEngine, IScriptEngine, IPythonDebugEngine

    public class JythonDebuggerEngine
    extends JythonScriptEngine
    implements IPythonDebugEngine

A script engine to execute/debug Python code on a Jython interpreter. Uses most of JythonScriptEngine's functionality and only extends it when file is to be debugged.

### Field Summary

Fields
`static java.lang.String` `ENGINE_ID`

### Fields inherited from class org.eclipse.core.runtime.jobs.Job

`ASYNC_FINISH, BUILD, DECORATE, INTERACTIVE, LONG, NONE, RUNNING, SHORT, SLEEPING, WAITING`

### Fields inherited from interface org.eclipse.ease.IScriptEngine

`TRACE_SCRIPT_ENGINE`

### Constructor Summary

Constructors
Constructor and Description
`JythonDebuggerEngine()`

### Method Summary

All Methods Instance Methods Concrete Methods
`ScriptStackTrace` `getExceptionStackTrace()` Get the stack trace of the last thrown exception of the current thread.
`ScriptStackTrace` `getExceptionStackTrace(java.lang.Object thread)` Get the stack trace of the last thrown exception of the given thread.
`ScriptObjectType` `getType(java.lang.Object object)` Get type information on a given script object
`java.util.Collection<EaseDebugVariable>` `getVariables(java.lang.Object scope)` Get variables within a specific scope or child elements for a given object
`java.lang.Object` `removeVariable(java.lang.String name)` Remove a variable from the scope.
`void` `setDebugger(PythonDebugger debugger)` Sets the PythonDebugger for the debug engine.
`void` `setupDebugger(ILaunch launch, boolean suspendOnStartup, boolean suspendOnScriptLoad, boolean showDynamicCode)`

### Methods inherited from class org.eclipse.ease.lang.python.jython.JythonScriptEngine

`registerJar, setErrorStream, setInputStream, setOutputStream, terminateCurrent`

### Methods inherited from class org.eclipse.ease.AbstractReplScriptEngine

`getDefinedVariables, getLastExecutionResult, getTerminateOnIdle, isIdle, setTerminateOnIdle, terminate, toString`

### Methods inherited from class org.eclipse.ease.AbstractScriptEngine

`addExecutionListener, addSecurityCheck, executeAsync, executeSync, extractArguments, getCurrentScriptEngine, getDescription, getErrorStream, getExecutedFile, getInputStream, getLaunch, getMonitor, getOutputStream, getStackTrace, getVariable, getVariables, hasVariable, inject, injectUI, isFinished, join, removeExecutionListener, removeSecurityCheck, setCloseStreamsOnTerminate, setEngineDescription, setExecutionRootFile, setLaunch, setVariable`

### Methods inherited from class org.eclipse.core.runtime.jobs.Job

`addJobChangeListener, belongsTo, cancel, create, create, createSystem, createSystem, createSystem, done, getJobGroup, getJobManager, getName, getPriority, getProperty, getResult, getRule, getState, getThread, isBlocking, isSystem, isUser, join, join, removeJobChangeListener, schedule, schedule, setJobGroup, setName, setPriority, setProgressGroup, setProperty, setRule, setSystem, setThread, setUser, shouldRun, shouldSchedule, sleep, toString, wakeUp, wakeUp, yieldRule`

### Methods inherited from class org.eclipse.core.internal.jobs.InternalJob

`compareTo`

### Methods inherited from class org.eclipse.core.runtime.PlatformObject

`getAdapter`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.eclipse.ease.IDebugEngine

`getStackTrace`

### Methods inherited from interface org.eclipse.ease.IScriptEngine

`addExecutionListener, addSecurityCheck, executeAsync, executeSync, getDescription, getErrorStream, getExecutedFile, getInputStream, getLaunch, getMonitor, getName, getOutputStream, getVariable, getVariables, hasVariable, inject, injectUI, isFinished, join, registerJar, removeExecutionListener, removeSecurityCheck, schedule, setCloseStreamsOnTerminate, setErrorStream, setInputStream, setOutputStream, setVariable, terminate, terminateCurrent`

### Methods inherited from interface org.eclipse.core.runtime.IAdaptable

`getAdapter`

### Field Detail

#### ENGINE_ID

    public static final java.lang.String ENGINE_ID

See Also:
  Constant Field Values

### Constructor Detail

#### JythonDebuggerEngine

    public JythonDebuggerEngine()

### Method Detail

#### setDebugger

    public void setDebugger(PythonDebugger debugger)

Description copied from interface: `IPythonDebugEngine`
Sets the PythonDebugger for the debug engine.

Specified by:
  `setDebugger` in interface `IPythonDebugEngine`
Parameters:
  `debugger` - `PythonDebugger` to be used.

#### setupDebugger

    public void setupDebugger(ILaunch launch,
                              boolean suspendOnStartup,
                              boolean suspendOnScriptLoad,
                              boolean showDynamicCode)

Specified by:
  `setupDebugger` in interface `IDebugEngine`

#### getExceptionStackTrace

    public ScriptStackTrace getExceptionStackTrace()

Description copied from interface: `IDebugEngine`
Get the stack trace of the last thrown exception of the current thread. Will be populated when an exception is thrown by the script engine. Can be evaluated in a try/catch statement within the script. Only available during script runtime.

Specified by:
  `getExceptionStackTrace` in interface `IDebugEngine`
Returns:
  last exception stack trace or `null`

#### getExceptionStackTrace

    public ScriptStackTrace getExceptionStackTrace(java.lang.Object thread)

Description copied from interface: `IDebugEngine`
Get the stack trace of the last thrown exception of the given thread. Will be populated when an exception is thrown by the script engine. Can be evaluated in a try/catch statement within the script. Only available during script runtime.

Specified by:
  `getExceptionStackTrace` in interface `IDebugEngine`
Parameters:
  `thread` - thread to get last exception stacktrace from
Returns:
  last exception stack trace or `null`

#### removeVariable

    public java.lang.Object removeVariable(java.lang.String name)

Description copied from interface: `IDebugEngine`
Remove a variable from the scope.

Specified by:
  `removeVariable` in interface `IDebugEngine`
Parameters:
  `name` - variable to be removed.
Returns:

#### getVariables

    public java.util.Collection<EaseDebugVariable> getVariables(java.lang.Object scope)

Description copied from interface: `IDebugEngine`
Get variables within a specific scope or child elements for a given object

Specified by:
  `getVariables` in interface `IDebugEngine`
Parameters:
  `scope` - scope or parent object
Returns:
  variables assigned to scope

#### getType

    public ScriptObjectType getType(java.lang.Object object)

Description copied from interface: `IReplEngine`
Get type information on a given script object

Specified by:
  `getType` in interface `IReplEngine`
Overrides:
  `getType` in class `AbstractReplScriptEngine`
Parameters:
  `object` - object to inspect
Returns:
  object type