@DefaultAnnotation({})

Package jmri.util.prefs

This package provides two mechanisms for storing preferences and one mechanism for storing user interface state within a JMRI profile:
JmriConfigurationProvider
Complex preferences within an XML element provided by the object storing and retrieving the element.
JmriPreferencesProvider
Simple preferences within a Preferences construct.
JmriUserInterfaceConfigurationProvider
Complex user interface state within an XML element provided by the object storing and retrieving the element.
These three classes provide arbitrary read/write access to the underlying storage, such that writing a users preferences does not require any part of a JMRI application have knowledge of every object that manages users preferences.

The public interfaces of these classes requires that a Profile be passed so that these are ready to (even though nothing currently uses this capability) handle multiple profiles, or non-profile-specific preferences or state.

Note the above implies that it is critical that no method in any class in this package refer to the results of ProfileManager.getActiveProfile().