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
DJDocument Interface shared by the Definitions Document, Open Definitions Document, and Interactions Document.
FileGroupingState This state pattern is used by the global model to store any information pertaining to the currently open project.
FileRegion The minimal interface for all region classes.
FileSaveSelector An interface to give GlobalModel a file to save a document to.
Finalizable<T> A listener that may be added to classes that implement the Finalizable interface.
FinalizationListener<T> A listener that may be added to classes that implement the Finalizable interface.
GlobalModel Handles the bulk of DrJava's program logic.
GlobalModelListener An interface for responding to events generated by the GlobalModel.
IDocumentRegion Interface supported by all bona fide document regions (e.g., region classes other than DummyDocumentRegion).
IHighlighted Interface for highlighted regions.
ILoadDocuments This interface encapsulates the behavior of a document loader.
LightWeightParsingControl Light-weight parsing control.
LightWeightParsingListener Light-weight parsing visitor.
OpenDefinitionsDocument Interface for an open document in DrJava.
OrderedDocumentRegion Interface supported by all document regions used in search results, bookmarks, and breakpoints (e.g., region classes other than DummyDocumentRegion and BrowserDocumentRegion).
Query  
Region The minimal interface for all region classes.
RegionManager<R extends IDocumentRegion> Interface for a region manager.
RegionManagerListener<R extends IDocumentRegion> Any class which wants to listen to DocumentRegion events fired by a RegionManager should implement this interface and use RegionManager's addListener() method.
SingleDisplayModel A GlobalModel that enforces invariants associated with having one active document at a time.
 

Class Summary
AbstractDJDocument This class contains code supporting the concept of a "DJDocument"; it is shared between DefinitionsDocument and InteractionsDJDocument.
AbstractGlobalModel In simple terms, a DefaultGlobalModel without an interpreter, compiler, junit testing, debugger or javadoc.
BrowserDocumentRegion Class for document regions that totally ordered by allocation chronology.
BrowserHistoryManager Browser history manager for the entire model.
ClassAndInterfaceFinder Class with getClassName method for finding the name of the first class or interface defined in a file
ClassAndInterfaceFinderTest ClassAndInterfaceFinderTest for unit testing ClassAndInterfaceFinder.
ClipboardHistoryModel Model class for clipboard history.
ConcreteRegionManager<R extends OrderedDocumentRegion> Simple region manager for the entire model.
DeadClassLoader  
DefaultGlobalModel Handles the bulk of DrJava's program logic.
DefaultLightWeightParsingControl Default light-weight parsing control.
DJError A class to represent source errors and warnings generated by the compiler, JUnit, etc.
DocumentRegion Class for a simple document region that only records region offsets, not positions.
DocumentRegionTest Trivial JUnit test case class for DocumentRegion.
DummyDocumentRegion The concrete class for "dummy document" regions produced by ProjectFileParser.
DummyGlobalModel Concrete implementation of GlobalModel that always throws UnsupportedOperationExceptions.
DummyGlobalModelListener A dummy GlobalModelListener that does nothing.
DummyGlobalModelTest DummyGetDocumentsTest for unit testing DummyGetDocuments.
DummyOpenDefDoc  
DummyOpenDefDocTest DummyOpenDefDocTest for unit testing DummyOpenDefDoc.
EventNotifier<T> Base class for all component-specific EventNotifiers.
EventNotifierTest Tests the functionality of the class that notifies listeners of a global model.
FinalizationEvent<T> Objects of this type are given to those listening for finalization.
FindReplaceMachine Implementation of logic of find/replace over a document.
FindReplaceMachineTest Tests the FindReplaceMachine.
FindResult Returned to FindMachineDialog with the location of the found string (or -1 if the string was not found) as well as a flag indicating whether the machine wrapped around the end of the document.
GlobalEventNotifier Keeps track of all listeners to the model, and has the ability to notify them of some event.
GlobalEventNotifier.Notifier Deprecated. Use listener methods directly instead.
GlobalEventNotifier.Poller Deprecated. Use listener methods directly instead.
GlobalIndentTest Tests the indenting functionality on the level of the GlobalModel.
GlobalModelCompileErrorsTest Tests to ensure that compilation fails when expected, and that the errors are reported correctly.
GlobalModelCompileIOTest Tests to ensure that compilation interacts with files correctly.
GlobalModelCompileSuccessOptionsTest Tests to ensure that compilation succeeds when expected.
GlobalModelCompileSuccessTest Tests to ensure that compilation succeeds when expected.
GlobalModelCompileSuccessTestCase Tests to ensure that compilation succeeds when expected.
GlobalModelCompileTest Tests to ensure that compilation behaves correctly in border cases.
GlobalModelIOTest Test I/O functions of the global model.
GlobalModelJUnitTest A test of Junit testing support in the GlobalModel.
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.CancelingSelector  
GlobalModelTestCase.CompileShouldFailListener A model listener for situations expecting a compilation to fail.
GlobalModelTestCase.CompileShouldSucceedListener A model listener for situations expecting a compilation to succeed.
GlobalModelTestCase.FileSelector This class is used by several test cases in Compile Tests that expect incorrect behavior concerning the saving of files.
GlobalModelTestCase.InteractionListener  
GlobalModelTestCase.JUnitNonTestListener Listener class for failing JUnit invocation.
GlobalModelTestCase.JUnitTestListener  
GlobalModelTestCase.TestListener A GlobalModelListener for testing.
GlobalModelTestCase.WarningFileSelector  
IHighlighted.PainterTag Storage structure for a painter and its associated tag.
JarJDKToolsLibrary A JDKToolsLibrary that was loaded from a specific jar file.
JDKToolsLibrary Provides dynamic access to the interface of a JDK's tools.jar classes.
MovingDocumentRegion Class for a document region that moves with changes in the document; it also includes a lazy tool-tip and line boundaries.
MultiThreadedTestCase TestCase which can fail if another thread causes an error or failure.
MultiThreadedTestCaseTest Tests for MultiThreadedTestCase.
MultiThreadedTestCaseTest.Uncaught  
Query.AbstractEnclosingBrace  
Query.AnonymousInnerClass  
Query.AnonymousInnerClassIndex  
Query.CharArrayAndFlag  
Query.CharOnLine  
Query.EnclosingBrace  
Query.EnclosingClassName  
Query.FirstNonWSCharPos  
Query.IndentInformation  
Query.IndentOfCurrStmt  
Query.LineEnclosingBrace  
Query.LineEndPos  
Query.LineFirstCharPos  
Query.LineStartPos  
Query.NextEnclosingBrace  
Query.Pos  
Query.PosInBlockComment  
Query.PosInParenPhrase  
Query.PosNotInBlock  
Query.PrevCharPos  
Query.PrevDelimiter  
Query.PrevEnclosingBrace  
SingleDisplayModelTest Test functions of the single display model.
SingleDisplayModelTest.SDTestListener A GlobalModelListener for testing.
TestDocGetter Test implementation of the document fetching methods in the GlobalModel interface.
TestDocGetterTest JUnit test class for testing TestDocGetter.
 

Exception Summary
AlreadyOpenException Indicates that the file attempting to be opened is already open.
DocumentClosedException Special DocumentClosedException to signify when a document's file no longer exists on disk where it once was, and as a result of the prompt given to the user, the document is closed
FileMovedException Special FileMovedException to signify when a document's file no longer exists on disk where it once was.
GlobalModelTestCase.FileMovedWarningException  
GlobalModelTestCase.OpenWarningException  
GlobalModelTestCase.OverwriteException  
 

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