Package edu.rice.cs.drjava.model

The model package is responsible for the majority of the logic and state in DrJava.

See:
          Description

Interface Summary
FileOpenSelector An interface to give GlobalModel a file to open from.
FileSaveSelector An interface to give GlobalModel a file to save a document to.
GlobalModel Handles the bulk of DrJava's program logic.
GlobalModelListener An interface for responding to events generated by the GlobalModel.
OpenDefinitionsDocument Interface for the GlobalModel's handler of an open DefinitionsDocument.
 

Class Summary
DefaultGlobalModel Handles the bulk of DrJava's program logic.
GlobalIndentTest Tests the indenting functionality on the level of the GlobalModel.
GlobalModelCompileTest A test on the GlobalModel for compilation.
GlobalModelIOTest Test I/O functions of the global model.
GlobalModelJUnitTest A test on the GlobalModel for JUnit testing.
GlobalModelListener.SaveReason Reasons provided for demanding a save before proceeding.
GlobalModelOtherTest A test on the GlobalModel that does deals with everything outside of simple file operations, e.g., compile, quit.
GlobalModelTestCase Base class for tests over the GlobalModel.
GlobalModelTestCase.CompileShouldFailListener A model listener for situations expecting a compilation to fail.
GlobalModelTestCase.CompileShouldSucceedListener  
GlobalModelTestCase.TestListener A GlobalModelListener for testing.
 

Exception Summary
AlreadyOpenException Indicates that the file attempting to be opened is already open.
FileMovedException Special FileMovedException to signify when a document's file no longer exists on disk where it once was.
OperationCanceledException Indicates that a GUI operation has been canceled, e.g., choosing a file to save to from a file selection dialog.
 

Package edu.rice.cs.drjava.model Description

The model package is responsible for the majority of the logic and state in DrJava. It is independent of the presentation, allowing different user interfaces to be created for the same codebase. The interfaces and classes in this package maintain the state of all open documents, interface to the compiler and interaction components, and communicate with the user interface through public methods and GlobalModelListeners.

GlobalModel's Role

The GlobalModel is the central point of DrJava, coordinating all components and communicating with the user interface.

To maintain state, the GlobalModel keeps a list of the OpenDefinitionsDocuments, each of which is responsible for its own DefinitionsDocument object and document specific actions on that object, such as saving and compiling.

The GlobalModel also provides a set of public methods which allow it to communicate with the user interface. This gives the ui package access to the OpenDefinitionsDocuments, compiler, console, and interactions code.

To keep the user interface up-to-date, the GlobalModel fires events to all GlobalModelListeners which have registered with it. Events are fired after actions which can affect the user interface, such as the opening, saving, and closing of files, or the starting and ending of compilation or interaction.

Subpackages