Oracle Fusion Middleware Java API Reference for Oracle Extension SDK Reference
11g Release 1 (11.1.1)

E13403-04

oracle.ide.runner
Interface DebuggerWindowProvider

All Superinterfaces:
DebuggerListener, java.util.EventListener

public interface DebuggerWindowProvider
extends DebuggerListener

Extensions can add their own debugger windows. The debugger will position the window and supply notification of various events. A debugger window needs to be prepared to work during multiple concurrent debugging processes, and the debugger will call 'setContext' each time the 'active' debugging process changes. Use the Debugger method: DebuggerWindowProviderCallback addDebuggerWindowProvider( DebuggerWindowProvider provider ); to add a DebuggerWindowProvider. A DebuggerWindowProvider is automatically added as a DebuggerListener The DebuggerListener callbacks will post notification of debugger events. Call getSource() on the DebuggerEvent to get a DebuggerEventSource Object, which can be queried for the Context of the process that caused the event.


Nested Class Summary
static class DebuggerWindowProvider.DebuggerWindowPosition
          Defines the position of the window
 
Method Summary
 java.awt.Rectangle getFloatingPosition()
          Called by the debugger to get the preferred floating position IFF the window position is FLOATING.
 DebuggerWindowProvider.DebuggerWindowPosition getPosition()
          Called by the debugger to get the position of the provided window
 DockableWindow getWindow()
          Called by the debugger to get the custom debugger window
 boolean installByDefault()
          Called by the debugger to inquire if the window should be created and installed by default.
 void refresh()
          Called by the debugger as a courtesy when debugger windows are refreshed.
 void setContext(Context context)
          Called by the debugger when the active debugging process changes
 void setDebuggerDockableLayoutPrefix(java.lang.String prefix)
          Called by the debugger BEFORE any call to getWindow().
 void setEvaluator(DebuggerEvaluator evaluator)
          Called each time the user changes stackframe or thread, supplying a new evaluator for that thread and stackframe.
 void shutDown()
          Called by the debugger when the IDE shuts down.
 
Methods inherited from interface oracle.ide.runner.DebuggerListener
debuggerFinished, debuggerResuming, debuggerStarted, debuggerStopping
 

Method Detail

installByDefault

boolean installByDefault()
Called by the debugger to inquire if the window should be created and installed by default. Windows installed in the structure pane (WEST orientation) and log pane (SOUTH orientation) that have a good chance of being used are usually installed by default and are either shown by default or kept invisible till needed.

Returns:
True if the window should be installed by default

setEvaluator

void setEvaluator(DebuggerEvaluator evaluator)
Called each time the user changes stackframe or thread, supplying a new evaluator for that thread and stackframe. The DebuggerWindowProvider can use any non-expired DebuggerEvaluator for evaluations, while keeping in mind that each DebuggerEvaluator is tied to a stackframe and thread. Don't hold on to expired evaluators. Let them be garbage collected after each 'resume' and 'finish'.

Parameters:
evaluator - An evaluator that can be used while the debuggee is stopped.

setContext

void setContext(Context context)
Called by the debugger when the active debugging process changes

Parameters:
context - The context of the new 'active' debugging process

refresh

void refresh()
Called by the debugger as a courtesy when debugger windows are refreshed. Of course, the DebuggerWindowProvider can decide to refresh the window at any time.


setDebuggerDockableLayoutPrefix

void setDebuggerDockableLayoutPrefix(java.lang.String prefix)
Called by the debugger BEFORE any call to getWindow(). This tells the provider which layout prefix the debugger uses. This is important IFF a provider wants the debugger to manage the layout grouping of the window. For instance, if the prefix is 'Debugger', the provider could set the ID of the Dockable to 'Debugger.MyDockable'. See also the getDebuggerWindowDefaultVisibility( Layout layout ) method in DebuggerWindowProviderCallback where the Dockable can let the debugger manage the visibility.

Parameters:
prefix - The prefix the debugger uses for layouts

getWindow

DockableWindow getWindow()
Called by the debugger to get the custom debugger window

Returns:
a DockableWindow which should not be null

getPosition

DebuggerWindowProvider.DebuggerWindowPosition getPosition()
Called by the debugger to get the position of the provided window

Returns:
the desired position

getFloatingPosition

java.awt.Rectangle getFloatingPosition()
Called by the debugger to get the preferred floating position IFF the window position is FLOATING.

Returns:
The preferred floating position, or null if the debugger should determine the best floating position

shutDown

void shutDown()
Called by the debugger when the IDE shuts down. This is the time to save settings


Oracle Fusion Middleware Java API Reference for Oracle Extension SDK Reference
11g Release 1 (11.1.1)

E13403-04

Copyright © 1997, 2010, Oracle. All rights reserved.