Class ConfigurationManager

java.lang.Object
com.biglybt.core.config.impl.ConfigurationManager
All Implemented Interfaces:
AEDiagnosticsEvidenceGenerator

public class ConfigurationManager extends Object implements AEDiagnosticsEvidenceGenerator
A singleton used to store configuration into a bencoded file.
  • Field Details

  • Constructor Details

    • ConfigurationManager

      private ConfigurationManager()
    • ConfigurationManager

      private ConfigurationManager(Map data)
  • Method Details

    • 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)
    • getLongParameterRaw

      private Long getLongParameterRaw(String parameter)
    • 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)
    • getByteParameterRaw

      private byte[] getByteParameterRaw(String parameter)
    • getByteParameter

      public byte[] getByteParameter(String parameter)
    • getByteParameter

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

      private String getStringParameter(String parameter, byte[] defaultValue)
    • getStringParameter

      public String getStringParameter(String parameter, String defaultValue)
    • getStringParameter

      public String getStringParameter(String parameter)
    • getStringListParameter

      public List<String> getStringListParameter(String parameter)
    • 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, Boolean override)
    • setRGBParameter

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

      public int[] getRGBParameter(String parameter)
    • 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 the .config file. 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
    • notifyParameterListenersIfChanged

      private boolean notifyParameterListenersIfChanged(String parameter, Long newValue, Long oldValue)
    • notifyParameterListenersIfChanged

      private boolean notifyParameterListenersIfChanged(String parameter, byte[] newValue, byte[] oldValue)
    • addResetToDefaultsListener

      public void addResetToDefaultsListener(COConfigurationManager.ResetToDefaultsListener l)
    • registerExportedParameter

      public void registerExportedParameter(String name, String key)
    • updateExportableParameter

      void updateExportableParameter(String key)
    • exportParameters

      void exportParameters()
    • loadExportedParameters

      private void loadExportedParameters()
    • resetToDefaults

      public void resetToDefaults()
    • notifyParameterListeners

      private void notifyParameterListeners(String parameter)
    • addWeakParameterListener

      public void addWeakParameterListener(String parameter, ParameterListener new_listener)
    • removeWeakParameterListener

      public void removeWeakParameterListener(String parameter, ParameterListener listener)
      Explicitly removing a weak ParameterListener prevents it from being fired after being de-referenced, but before GC'd
    • 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)
    • ignoreKeyForDump

      private boolean ignoreKeyForDump(String key)
    • 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)