Package csheets.ext.comments

Provides an extension to support comments on cells.

See: Description

Package csheets.ext.comments Description

Provides an extension to support comments on cells. An extension is a class that extends the class Extension. CleanSheets dynamically loads all the extensions that it finds declared in the following property files: res/extensions.props and extensions.props. For the simple extension to be loaded at startup a line with the fully qualified name of the simple extension class must be present in one of the property files. The fully qualified name of the comments extension is: csheets.ext.comments.CommentsExtension

The following sections present diagrams that illustrate some important aspects of the analysis and design for this extension.
First, a simple textual description of the use case (that this extension needs to support) is presented.
Then we present a diagram that we call "analysis" use case realization that should illustrate the first approach to the design of the use case realization.
We then illustrate some aspects of the design: the setup of the extension, the class diagram and the use case realization.

Sequence Diagram Analysis Use Case Realization

Use Case "Enter Comment on Cell": The user selects the cell where he wants to enter a comment. The system displays the current comment of that cell. The user enter the text of the comment (or alters the existing one). The system saves the comment of the cell.

The following diagram depicts a proposal for the realization of the previously described use case. We call this diagram an "analysis" use case realization because it functions like a draft that we can do during analysis or early design in order to get a previous approach to the design. For that reason we mark the elements of the diagram with the stereotype "analysis" that states that the element is not a design element and, therefore, does not exists as such in the code of the application (at least at the moment that this diagram was created).


Sequence Diagrams - OUT-OF-DATE illustrating the setup of the extension

The following sequence diagram illustrates the creation of the simple extension. All the extensions are loaded dynamically by the ExtensionManager at application startup.


The following sequence diagram illustrates the creation of the user interface extension. All the UI extensions are loaded by the UIController at application startup.


The following sequence diagram illustrates the creation of the menu extension. All the menu extensions are loaded by the MenuBar at application startup.


Class Diagram - OUT-OF-DATE

Sequence Diagrams - OUT-OF-DATE illustrating use cases of the extension

The following sequence diagram illustrates the use case "Set the contents of the A1 cell".
To be noticed that the operation actionPerformed does not originate directly from the User. There are several other classes involved that are not depicted for clarity purposes.

Author:
Alexandre Braganca