Resources:   Demos | Example
   0.3.1 is a patch release that incorporates a persistence mechanism into the docking framework. The net.eleritec.docking.config.ConfigurationManager class was added to provide this functionality.

Persistence is achieved by storing a representation of the current docking configuration in XML format. The configuration itself is encapsulated within the net.eleritec.docking.config.DockingConfiguration class. To obtain a current DockingConfiguration instance, one may call ConfigurationManager.createDockingConfiguration(). To store the configuration, use one of the overloaded ConfigurationManager.store() methods. To reinstantiate a persisted configuration, use one of the overloaded ConfigurationManager.load() methods. Finally, to apply a DockingConfiguration to a given application, use ConfigurationManager.applyConfiguration().

The Dockable and DockingPort interfaces have been updated to include a method public String getPersistentId() on each. The ConfigurationManager keeps track of DockingPorts and Dockables at runtime using the persistent id for each. Thus, the persistent id must be unique for a single appliaction instance to avoid collisions, but it must also be predictable so that Dockable and DockingPort instances may be reliably tracked between application sessions.

The registerDockable() method on the DockingManager has added ConfigurationManager tracking for Dockables internally, so existing application code should not require any explicit changes. Likewise, the replaceDockingPort() method on the ConfigurationManager class has been added internally the DefaultDockingPort, so no explicit registrations of DockingPorts should be required. However, it is recommended that existing code be updated to correctly implement the getPersistentId() methods on both Dockable and DockingPort instances.