Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.argouml.configuration
Class ConfigurationHandler  view ConfigurationHandler download ConfigurationHandler.java

java.lang.Object
  extended byorg.argouml.configuration.ConfigurationHandler
Direct Known Subclasses:
ConfigurationProperties

public abstract class ConfigurationHandler
extends java.lang.Object

This class provides a user configuration based upon properties. This provides an implementation-free interface to a configuration repository. Any classes which need to implement a configuration datastore must extend this class. All of the required behavioral logic for the configuration is contained within this class, as public final methods. Any storage-related logic must be handled by the extending class. These methods are abstract. This class is intimately related to Configuration.


Field Summary
private  boolean _changeable
          Internal flag indicating whether the configuration can be updated.
private  boolean _changed
          Internal flag indicating whether the configuration has been modified after it was loaded.
private  boolean _loaded
          Internal flag indicating whether the configuration has been loaded.
private  java.io.File _loadedFromFile
          Internal storage for the File the configuration was loaded from, otherwise null.
private  java.net.URL _loadedFromURL
          Internal storage for the URL the configuration was loaded from, otherwise null.
private static java.beans.PropertyChangeSupport _pcl
          Internal worker for property change.
 
Constructor Summary
ConfigurationHandler()
          Anonymous constructor allows configuration changes.
ConfigurationHandler(boolean changeable)
          Constructor which optionally allows configuration changes.
 
Method Summary
 void addListener(ConfigurationKey key, java.beans.PropertyChangeListener pcl)
          Adds a property change listener.Static for simplicity of use.
 void addListener(java.beans.PropertyChangeListener pcl)
          Adds a property change listener.
 boolean getBoolean(ConfigurationKey key, boolean defaultValue)
          Returns the boolean value of a configuration property.
abstract  java.lang.String getDefaultPath()
          Returns a default configuration path.
 double getDouble(ConfigurationKey key, double defaultValue)
          Returns the numeric value of a configuration property.
 int getInteger(ConfigurationKey key, int defaultValue)
          Returns the numeric value of a configuration property.
 java.lang.String getString(ConfigurationKey key, java.lang.String defaultValue)
          Returns the string value of a configuration property.
abstract  java.lang.String getValue(java.lang.String key, java.lang.String defaultValue)
          Returns the string value of a configuration property.
 boolean hasKey(ConfigurationKey key)
          Allows query for the existence of a configuration property.
 boolean isChangeable()
          Indicates whether the configuration can be saved.
 boolean isChanged()
          Indicates whether the configuration can be saved.
 boolean isLoaded()
          Indicates whether the configuration has been loaded.
 boolean load(java.io.File file)
          Load the configuration from a File.
 boolean load(java.net.URL url)
          Load the configuration from a URL.
 boolean loadDefault()
          Load the configuration from the default location.
(package private) abstract  boolean loadFile(java.io.File file)
          Internal processing to load a File.
private  void loadIfNecessary()
          Internal worker which is called prior to any getValue or setValue to ensure that the default load is done if it was not loaded previously.
(package private)  boolean loadUnspecified()
          Internal processing to load from an unspecified source.
(package private) abstract  boolean loadURL(java.net.URL url)
          Internal processing to load a URL.
 void removeListener(ConfigurationKey key, java.beans.PropertyChangeListener pcl)
          Removes a property change listener.
 void removeListener(java.beans.PropertyChangeListener pcl)
          Removes a property change listener.
 boolean save(java.io.File file)
          Save the configuration to a File.
 boolean save(java.net.URL url)
          Save the configuration to a URL.
 boolean saveDefault()
          Save the configuration to the location it was loaded from.
 boolean saveDefault(boolean force)
          Save the configuration to the location it was loaded from.
(package private) abstract  boolean saveFile(java.io.File file)
          Internal processing to save a File.
(package private)  boolean saveUnspecified()
          Internal processing to save to an unspecified source.
(package private) abstract  boolean saveURL(java.net.URL url)
          Internal processing to save a URL.
 void setBoolean(ConfigurationKey key, boolean value)
          Sets the boolean value of a configuration property.
 void setDouble(ConfigurationKey key, double value)
          Sets the numeric value of a configuration property.
 void setInteger(ConfigurationKey key, int value)
          Sets the numeric value of a configuration property.
 void setString(ConfigurationKey key, java.lang.String newValue)
          Sets the string value of a configuration property.
abstract  void setValue(java.lang.String key, java.lang.String value)
          Sets the string value of a configuration property.
private  void workerSetValue(ConfigurationKey key, java.lang.String newValue)
          Internal routine which calls the abstract setValue and handles all necessary functionality including firing property change notifications and tracing.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_loadedFromFile

private java.io.File _loadedFromFile
Internal storage for the File the configuration was loaded from, otherwise null.


_loadedFromURL

private java.net.URL _loadedFromURL
Internal storage for the URL the configuration was loaded from, otherwise null.


_changeable

private boolean _changeable
Internal flag indicating whether the configuration can be updated.


_loaded

private boolean _loaded
Internal flag indicating whether the configuration has been loaded. Configuration rules allow a single load, whether manual or automatic.


_changed

private boolean _changed
Internal flag indicating whether the configuration has been modified after it was loaded.


_pcl

private static java.beans.PropertyChangeSupport _pcl
Internal worker for property change.

Constructor Detail

ConfigurationHandler

public ConfigurationHandler()
Anonymous constructor allows configuration changes.


ConfigurationHandler

public ConfigurationHandler(boolean changeable)
Constructor which optionally allows configuration changes.

Method Detail

getDefaultPath

public abstract java.lang.String getDefaultPath()
Returns a default configuration path. This could be a filename or a URL. It is not guaranteed to be usable across different implementations of ConfigurationHandler.


loadIfNecessary

private void loadIfNecessary()
Internal worker which is called prior to any getValue or setValue to ensure that the default load is done if it was not loaded previously.


loadDefault

public final boolean loadDefault()
Load the configuration from the default location.


saveDefault

public final boolean saveDefault()
Save the configuration to the location it was loaded from. Do not force it if the configuration was not loaded already.


saveDefault

public final boolean saveDefault(boolean force)
Save the configuration to the location it was loaded from.


isChangeable

public final boolean isChangeable()
Indicates whether the configuration can be saved.


isChanged

public final boolean isChanged()
Indicates whether the configuration can be saved.


isLoaded

public final boolean isLoaded()
Indicates whether the configuration has been loaded.


load

public final boolean load(java.io.File file)
Load the configuration from a File.


load

public final boolean load(java.net.URL url)
Load the configuration from a URL.


save

public final boolean save(java.io.File file)
Save the configuration to a File.


save

public final boolean save(java.net.URL url)
Save the configuration to a URL.


getString

public final java.lang.String getString(ConfigurationKey key,
                                        java.lang.String defaultValue)
Returns the string value of a configuration property.


getInteger

public final int getInteger(ConfigurationKey key,
                            int defaultValue)
Returns the numeric value of a configuration property.


getDouble

public final double getDouble(ConfigurationKey key,
                              double defaultValue)
Returns the numeric value of a configuration property.


getBoolean

public final boolean getBoolean(ConfigurationKey key,
                                boolean defaultValue)
Returns the boolean value of a configuration property.


workerSetValue

private final void workerSetValue(ConfigurationKey key,
                                  java.lang.String newValue)
Internal routine which calls the abstract setValue and handles all necessary functionality including firing property change notifications and tracing.


setString

public final void setString(ConfigurationKey key,
                            java.lang.String newValue)
Sets the string value of a configuration property.


setInteger

public final void setInteger(ConfigurationKey key,
                             int value)
Sets the numeric value of a configuration property.


setDouble

public final void setDouble(ConfigurationKey key,
                            double value)
Sets the numeric value of a configuration property.


setBoolean

public final void setBoolean(ConfigurationKey key,
                             boolean value)
Sets the boolean value of a configuration property.


addListener

public final void addListener(java.beans.PropertyChangeListener pcl)
Adds a property change listener.


removeListener

public final void removeListener(java.beans.PropertyChangeListener pcl)
Removes a property change listener.


addListener

public final void addListener(ConfigurationKey key,
                              java.beans.PropertyChangeListener pcl)
Adds a property change listener.Static for simplicity of use.


removeListener

public final void removeListener(ConfigurationKey key,
                                 java.beans.PropertyChangeListener pcl)
Removes a property change listener.


loadUnspecified

boolean loadUnspecified()
Internal processing to load from an unspecified source.


saveUnspecified

boolean saveUnspecified()
Internal processing to save to an unspecified source.


loadFile

abstract boolean loadFile(java.io.File file)
Internal processing to load a File.


loadURL

abstract boolean loadURL(java.net.URL url)
Internal processing to load a URL.


saveFile

abstract boolean saveFile(java.io.File file)
Internal processing to save a File.


saveURL

abstract boolean saveURL(java.net.URL url)
Internal processing to save a URL.


hasKey

public boolean hasKey(ConfigurationKey key)
Allows query for the existence of a configuration property. This may be overridden if the implementation has a more efficient method.


getValue

public abstract java.lang.String getValue(java.lang.String key,
                                          java.lang.String defaultValue)
Returns the string value of a configuration property.


setValue

public abstract void setValue(java.lang.String key,
                              java.lang.String value)
Sets the string value of a configuration property.