![]() |
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.