History of changes

Version 1.1.0 - Sep 16, 2005

New features

  • Genuine now supports both components of which only a single instance is created and components of which multiple instance may be created. You may change this behavior in a module configuration by switching the new attribute instances to either "single" or "multiple". Single instance components are created and initialized at application start up as before, multiple instance components are created on demand when ComponentManager.showComponent is called.
    This feature has caused several incompatible API changes. Most notably, all visual components now receive an instanceId attribute. Changes were made to the following interfaces and classes:
    • Module: Changed getComponent(componentId) to createVisualComponent(componentId, instanceId). In all modules, visual components now have to be created by the method createVisualComponent.
    • AbstractModule: Removed registerComponent and default implementation of getComponent
    • ComponentManager: Added instanceId attribute to most methods
    • ComponentListener: Added instanceId attribute to all methods
    • ComponentAdapter: Added instanceId attribute to all methods
    • VisualComponent: New method getInstanceId()
    • AbstractComponent: Changed constructor to take instanceId attribute. All components that inherit from this class have to pass the instance identifier received in Module.createVisualComponent to the super constructor.
  • Infrastructure for handling user preferences has been added. Now there is a preferences module that may be used and initialized by an application. This module provides a preferences dialog into which an arbitrary number of preferences pages may be embedded.
    Genuine provides a preferences page of its own for preferences regarding the application appearance.
  • The helper service now contains a couple of methods to show a message box, i.e. open a modal dialog that presents a message to the user. A message box has a title, an icon, a message text, and a configurable number of buttons. Every message is configured by a resource item.
  • The properties for modules may now contain both property values and property sets. A property set has a property key and a set of values. See the documentation of Module.initialize(String, ModuleManager, Map).
  • The MessageVetoException may take a ResourceItem object as parameter that contains explanatory text for the user.


  • Internal frames that are shown for the first time are positioned on the desktop in cascades so that they have different locations.
  • New attribute "maximized" for size element: When an application starts, the application frame may initially span over the whole desktop.
  • If an internal frame has been iconified and the embedded graphical component needs to be shown, the frame is restored.
  • Added an example for the usage of an individual exit service to the example application.
  • Organizer class got a main method to start an application without an application specific main class.


  • None


  • For HTML documentation and web site creation, Forrest ( is now used.
  • The first topics of a user guide are now available.

Version 1.0.0 - Jan 02, 2005

First public release