Important Classes

Important JSwat Classes

The following are descriptions of the important classes in JSwat and what they are used for. Whenever you write new code for JSwat, or modify existing code, you will need to know what these classes do and how to make use of them.

BreakpointManager
The BreakpointManager class is responsible for creating new breakpoints, deleting existing breakpoints, and notifying listeners whenever breakpoints have been disabled, enabled, added, or deleted. This is used by classes like SourceView to indicate graphically where breakpoints exist and their current state.
ContextManager
The ContextManager class is responsible for holding the context of the debugger and notifying listeners whenever the debugger context has changed. Context includes the current thread the user is examining, the current stack frame, and the current line the user is stepping through.
JSwatAction
The JSwatAction class is responsible for implementing the basic features of a JSwat action class. All JSwat actions must subclass from this abstract class.
JSwatCommand
The JSwatCommand class is responsible for implementing the basic features of a JSwat command class. All JSwat commands must subclass from this abstract class.
Panel
The Panel interface defines the methods that must be implemented by the display areas in JSwat. The base class, BasicPanel provides the basic functionality for all panels.
UIAdapter
The UIAdapter concrete implementations are responsible for constructing the user interface. In the graphical mode, this includes the menubar, toolbar and display panels.
Session
The Session class is responsible for holding everything together. This class is the facade to numerous other classes in the debugger. It is used to create a new debugging session, deactivate a session, and access the various important objects in the debugger.
PathManager
The PathManager class is responsible for mapping code locations to source files. It provides convenient methods for accessing the classpath and sourcepath settings in JSwat.
VMEventManager
The VMEventManager class is responsible for receiving events from the debuggee VM and delegating them to the appropriate listeners. This class efficiently holds the lists of listeners based on the VM events they are registered for, and keeps them in sorted order by priority. This allows classes like Session to receive the events before other objects in JSwat.
View
The View interface defines the methods that must be implemented by the source view area in JSwat. The base class, BasicView provides the basic functionality for all views that display textual information, such as source code.