Skip to content

Janeway Architecture

Chris Casola edited this page Mar 12, 2013 · 2 revisions

Janeway class diagram

IJanewayModule

If you are developing a module, all you really need to know about is this interface and JanewayTabModel. If a module wants to display a GUI in the Janeway client, all it must do is provide an implementation of IJanewayModule. The interface requires two methods, getName() and getTabs(). A very simple module can simply return a string from getName() and a list containing one JanewayTabModel for getTabs().

JanewayTabModel

This is a model class that contains data for each tab that is displayed in the Janeway client. Each tab in the client must have a corresponding JanewayTabModel. A module can provide one or more JanewayTabModel objects. A list of JanewayTabModel should be returned by the getTabs() method in your IJanewayModule implementation. JanewayTabModel contains information about a tab, including the name to display on it, an icon for the tab (which can simply be null), the toolbar component, and the main component. The toolbar component is a JComponent (usually a JPanel) that contains the GUI widgets to be displayed in the toolbar of the client. The main component is also a JComponent (usually a JPanel) that contains the main GUI for the module. This is what is displayed in the large portion of the tab. As an example, the defect tracker module returns one JanewayTabModel from the getTabs() method, since it only uses one main tab.

More information about the other classes in Janeway is coming. Module developers should only need to know about the two classes described above. However, there is documentation in the code if you need to know more about the classes not discussed here.