house fly

JSwat Project

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


Back to Design page