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 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 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 class is responsible for
implementing the basic features of a JSwat action class. All
JSwat actions must subclass from this abstract class.JSwatCommand class is responsible for
implementing the basic features of a JSwat command class. All
JSwat commands must subclass from this abstract class.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 concrete implementations are
responsible for constructing the user interface. In the graphical
mode, this includes the menubar, toolbar and display panels.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 class is responsible for mapping
code locations to source files. It provides convenient methods
for accessing the classpath and sourcepath settings in
JSwat.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 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.