Espresso Spec Sheet

Espresso Spec Sheets are HTML-documents designed for publication on the Web. Spec Sheets have two main functions: to describe the features of Espresso components and to carry Espresso Envelopes. Typical Spec Sheets carry both word and picture descriptions of components, showing the design-time and runtime appearance. Components are described in terms of their internal structure, their ports and their overall functionality. Espresso Envelopes are compressed files that contain the Espresso component described on the Spec Sheet.

Envelopes are generally referenced by a hyper-link on the Spec Sheet. Clicking the link downloads the Espresso component into the user's machine. At the physical level, Espresso Envelopes are Java JAR files containing a collection of compressed files with the code and data files used by an Espresso component. The Espresso Development Environment, available from Faison Computing, is capable of downloading Espresso Envelopes, opening them, extracting their contents and installing the necessary files into the user system -- all in a single operation. Envelopes can also be downloaded using a standard Web browser, but the envelope will need to be opened manually, using the standard Java jar utility.

Espresso Demo 1

The Espresso component described by this Spec Sheet is a simple stand-alone application demonstrating a number of key Espresso features:

o        Using GUI with non-GUI components

o        Code-less component interconnections

o        Using mediators as component control centers

o        Runtime versus design-time appearance

o        Espresso components as complete applications

The component can be downloaded and run as a Java application on machines that support JDK 1.1.6. When manually opening the Envelope, by sure to install the .class files into a directory referenced by your Java CLASSPATH, or extend the CLASSPATH to include the directory you copy the .class files into.

What the Demo does

The Demo is simple panel containing a table of strings, organized by row and column. The panel is itself an Espresso component, and the items inside it are sub-components. The panel uses 4 buttons to control the table. When the Demo is first run, the table is empty. Clicking on the Populate button initializes the table with strings. The rows can be sorted in ascending or descending order by clicking on the Sort Up or Sort Down buttons. The Clear button removes all data from the table. Figure 1 shows the run-time appearance of the Demo.

 

Figure 1 - The Design-Time Appearance of the Demo.

Click here to download


Technical specifications

On the Spec Sheet for a commercial Espresso component, the Technical Specifications section is used to provide an in-depth description how the Espresso component works, both internally and externally.

Manifest:

This section contains a description of the components, documents and other files contained in the Espresso Envelope. The following table is an example.

EspressoButton

A graphical component representing a push button. When the component is clicked, it sends a clicked event from its output port.

EspressoCheckbox

A graphical component representing a checkbox. When the component is clicked, it sends a checked or unchecked event from its output port.

EspressoTable

A user-interface component that displays string data on the screen, in a two-dimensional table format.

EspressoStringTable

A non-graphical component that stores the data in a two-dimensional table format.

EspressoQuickSort2D

A non-graphical component that takes a 2-dimensional vector of strings, organized by row and column, and sorts it using the Quick Sort algorithm.

EspressoSortMediator

A non-graphical component that manages the sorting process. It takes the data from a 2-dimensional container, sends it to a sorting engine, requests the engine to sort the data in a particular manner, gets the sorted results back and sends the data to the original container.

EspressoContainer

A graphical Panel component that can contain other graphical and non graphical components.