![]() |
JSwat ProjectImportant 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
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.JSwatPanel
class is responsible for
implementing the basic features of a JSwat panel class. All JSwat
panels must subclass from this abstract class.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.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.