org.gudy.azureus2.core3.config.impl
Class ConfigurationManager

java.lang.Object
  extended by org.gudy.azureus2.core3.config.impl.ConfigurationManager
All Implemented Interfaces:
AEDiagnosticsEvidenceGenerator

public class ConfigurationManager
extends Object
implements AEDiagnosticsEvidenceGenerator

A singleton used to store configuration into a bencoded file.

Author:
TdC_VgA

Method Summary
 void addAndFireListener(COConfigurationListener listener)
           
 void addListener(COConfigurationListener listener)
           
 void addParameterListener(String parameter, ParameterListener new_listener)
           
 void addResetToDefaultsListener(COConfigurationManager.ResetToDefaultsListener l)
           
protected static String bytesToString(byte[] bytes)
           
 boolean doesParameterNonDefaultExist(String parameter)
          Does the given parameter exist.
 void dumpConfigChanges(IndentWriter writer)
           
 void generate(IndentWriter writer)
           
 boolean getBooleanParameter(String parameter)
           
 boolean getBooleanParameter(String parameter, boolean defaultValue)
           
 byte[] getByteParameter(String parameter)
           
 byte[] getByteParameter(String parameter, byte[] defaultValue)
           
 Set<String> getDefinedParameters()
           
 String getDirectoryParameter(String parameter)
           
 float getFloatParameter(String parameter)
           
 float getFloatParameter(String parameter, float def_val)
           
static ConfigurationManager getInstance()
           
static ConfigurationManager getInstance(Map data)
           
 int getIntParameter(String parameter)
           
 int getIntParameter(String parameter, int defaultValue)
           
 List getListParameter(String parameter, List def)
           
 long getLongParameter(String parameter)
           
 long getLongParameter(String parameter, long defaultValue)
           
 Map getMapParameter(String parameter, Map def)
           
 Object getParameter(String name)
           
 StringList getStringListParameter(String parameter)
           
 String getStringParameter(String parameter)
           
 String getStringParameter(String parameter, String defaultValue)
           
 boolean hasParameter(String key, boolean explicit)
          Returns true if a parameter with the given name exists.
protected  void initialise()
           
 boolean isNewInstall()
           
 void load()
           
 void load(String filename)
           
 void registerExportedParameter(String name, String key)
           
 void registerTransientParameter(String param)
          Use this method to record a parameter as one which can be stored here, but shouldn't be saved in azureus.config.
 void removeListener(COConfigurationListener listener)
           
 boolean removeParameter(String parameter)
          Remove the given configuration parameter completely.
 void removeParameterListener(String parameter, ParameterListener listener)
           
 boolean removeRGBParameter(String parameter)
           
 void resetToDefaults()
           
 void save()
           
 void save(String filename)
           
 void setDirty()
           
 boolean setParameter(String parameter)
           
 boolean setParameter(String parameter, boolean value)
           
 boolean setParameter(String parameter, byte[] defaultValue)
           
 boolean setParameter(String parameter, float defaultValue)
           
 boolean setParameter(String parameter, int defaultValue)
           
 boolean setParameter(String parameter, List value)
           
 boolean setParameter(String parameter, long defaultValue)
           
 boolean setParameter(String parameter, Map value)
           
 boolean setParameter(String parameter, String defaultValue)
           
 boolean setParameter(String parameter, StringList value)
           
 void setParameterRawNoNotify(String parameter, Object value)
          Set the raw parameter value to store in the properties map.
 boolean setRGBParameter(String parameter, int[] rgb, boolean override)
           
 boolean setRGBParameter(String parameter, int red, int green, int blue)
           
protected static byte[] stringToBytes(String str)
           
 boolean verifyParameter(String parameter, String value)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getInstance

public static ConfigurationManager getInstance()

getInstance

public static ConfigurationManager getInstance(Map data)

initialise

protected void initialise()

load

public void load(String filename)

load

public void load()

save

public void save(String filename)

save

public void save()

setDirty

public void setDirty()

isNewInstall

public boolean isNewInstall()

getDefinedParameters

public Set<String> getDefinedParameters()

getBooleanParameter

public boolean getBooleanParameter(String parameter,
                                   boolean defaultValue)

getBooleanParameter

public boolean getBooleanParameter(String parameter)

setParameter

public boolean setParameter(String parameter,
                            boolean value)

getIntParameter

public int getIntParameter(String parameter,
                           int defaultValue)

getIntParameter

public int getIntParameter(String parameter)

getLongParameter

public long getLongParameter(String parameter,
                             long defaultValue)

getLongParameter

public long getLongParameter(String parameter)

getByteParameter

public byte[] getByteParameter(String parameter)

getByteParameter

public byte[] getByteParameter(String parameter,
                               byte[] defaultValue)

getStringParameter

public String getStringParameter(String parameter,
                                 String defaultValue)

getStringParameter

public String getStringParameter(String parameter)

getStringListParameter

public StringList getStringListParameter(String parameter)

setParameter

public boolean setParameter(String parameter,
                            StringList value)

getListParameter

public List getListParameter(String parameter,
                             List def)

setParameter

public boolean setParameter(String parameter,
                            List value)

getMapParameter

public Map getMapParameter(String parameter,
                           Map def)

setParameter

public boolean setParameter(String parameter,
                            Map value)

getDirectoryParameter

public String getDirectoryParameter(String parameter)
                             throws IOException
Throws:
IOException

getFloatParameter

public float getFloatParameter(String parameter)

getFloatParameter

public float getFloatParameter(String parameter,
                               float def_val)

setParameter

public boolean setParameter(String parameter,
                            float defaultValue)

setParameter

public boolean setParameter(String parameter,
                            int defaultValue)

setParameter

public boolean setParameter(String parameter,
                            long defaultValue)

setParameter

public boolean setParameter(String parameter,
                            byte[] defaultValue)

setParameter

public boolean setParameter(String parameter,
                            String defaultValue)

hasParameter

public boolean hasParameter(String key,
                            boolean explicit)
Returns true if a parameter with the given name exists.

Parameters:
key - The name of the parameter to check.
explicit - If true, we only check for a value which is definitely stored explicitly, false means that we'll also check against configuration defaults too.

verifyParameter

public boolean verifyParameter(String parameter,
                               String value)

setRGBParameter

public boolean setRGBParameter(String parameter,
                               int red,
                               int green,
                               int blue)

setRGBParameter

public boolean setRGBParameter(String parameter,
                               int[] rgb,
                               boolean override)

setParameter

public boolean setParameter(String parameter)
                     throws ConfigurationParameterNotFoundException
Throws:
ConfigurationParameterNotFoundException

getParameter

public Object getParameter(String name)

setParameterRawNoNotify

public void setParameterRawNoNotify(String parameter,
                                    Object value)
Set the raw parameter value to store in the properties map. This should only be used by trusted callers, and has been added to support external plugin config files.

Parameters:
parameter - Parameter name.
value - A bencode-ably safe value.

registerTransientParameter

public void registerTransientParameter(String param)
Use this method to record a parameter as one which can be stored here, but shouldn't be saved in azureus.config. Instead, some external object should be responsible for the parameter's persistency (if it should have any at all).


removeParameter

public boolean removeParameter(String parameter)
Remove the given configuration parameter completely.

Parameters:
parameter - to remove
Returns:
true if found and removed, false if not

removeRGBParameter

public boolean removeRGBParameter(String parameter)

doesParameterNonDefaultExist

public boolean doesParameterNonDefaultExist(String parameter)
Does the given parameter exist.

Parameters:
parameter - to check
Returns:
true if exists, false if not present

addResetToDefaultsListener

public void addResetToDefaultsListener(COConfigurationManager.ResetToDefaultsListener l)

registerExportedParameter

public void registerExportedParameter(String name,
                                      String key)

resetToDefaults

public void resetToDefaults()

addParameterListener

public void addParameterListener(String parameter,
                                 ParameterListener new_listener)

removeParameterListener

public void removeParameterListener(String parameter,
                                    ParameterListener listener)

addListener

public void addListener(COConfigurationListener listener)

addAndFireListener

public void addAndFireListener(COConfigurationListener listener)

removeListener

public void removeListener(COConfigurationListener listener)

generate

public void generate(IndentWriter writer)
Specified by:
generate in interface AEDiagnosticsEvidenceGenerator

dumpConfigChanges

public void dumpConfigChanges(IndentWriter writer)

bytesToString

protected static String bytesToString(byte[] bytes)

stringToBytes

protected static byte[] stringToBytes(String str)