Class ConfigurationManager

    • Field Detail

      • DEBUG_PARAMETER_LISTENERS

        private static final boolean DEBUG_PARAMETER_LISTENERS
        See Also:
        Constant Field Values
      • class_mon

        private static final AEMonitor class_mon
      • transient_properties

        private final java.util.List transient_properties
      • parameterListenerz

        private final java.util.Map<java.lang.String,​ParameterListener[]> parameterListenerz
      • weakParameterListenerz

        private final java.util.Map<java.lang.String,​java.util.List<java.lang.ref.WeakReference<ParameterListener>>> weakParameterListenerz
      • exportable_parameter_listener

        private final ParameterListener exportable_parameter_listener
      • exported_parameters

        private final java.util.Map<java.lang.String,​java.lang.String[]> exported_parameters
      • imported_parameters

        private final java.util.Map<java.lang.String,​java.lang.String> imported_parameters
      • exported_parameters_dirty

        private volatile boolean exported_parameters_dirty
    • Constructor Detail

      • ConfigurationManager

        private ConfigurationManager()
      • ConfigurationManager

        private ConfigurationManager​(java.util.Map data)
    • Method Detail

      • initialise

        protected void initialise()
      • load

        public void load​(java.lang.String filename)
      • load

        public void load()
      • save

        public void save​(java.lang.String filename)
      • save

        public void save()
      • setDirty

        public void setDirty()
      • isNewInstall

        public boolean isNewInstall()
      • getDefinedParameters

        public java.util.Set<java.lang.String> getDefinedParameters()
      • getBooleanParameter

        public boolean getBooleanParameter​(java.lang.String parameter,
                                           boolean defaultValue)
      • getBooleanParameter

        public boolean getBooleanParameter​(java.lang.String parameter)
      • setParameter

        public boolean setParameter​(java.lang.String parameter,
                                    boolean value)
      • getLongParameterRaw

        private java.lang.Long getLongParameterRaw​(java.lang.String parameter)
      • getIntParameter

        public int getIntParameter​(java.lang.String parameter,
                                   int defaultValue)
      • getIntParameter

        public int getIntParameter​(java.lang.String parameter)
      • getLongParameter

        public long getLongParameter​(java.lang.String parameter,
                                     long defaultValue)
      • getLongParameter

        public long getLongParameter​(java.lang.String parameter)
      • getByteParameterRaw

        private byte[] getByteParameterRaw​(java.lang.String parameter)
      • getByteParameter

        public byte[] getByteParameter​(java.lang.String parameter)
      • getByteParameter

        public byte[] getByteParameter​(java.lang.String parameter,
                                       byte[] defaultValue)
      • getStringParameter

        private java.lang.String getStringParameter​(java.lang.String parameter,
                                                    byte[] defaultValue)
      • getStringParameter

        public java.lang.String getStringParameter​(java.lang.String parameter,
                                                   java.lang.String defaultValue)
      • getStringParameter

        public java.lang.String getStringParameter​(java.lang.String parameter)
      • getStringListParameter

        public java.util.List<java.lang.String> getStringListParameter​(java.lang.String parameter)
      • getListParameter

        public java.util.List getListParameter​(java.lang.String parameter,
                                               java.util.List def)
      • setParameter

        public boolean setParameter​(java.lang.String parameter,
                                    java.util.List value)
      • getMapParameter

        public java.util.Map getMapParameter​(java.lang.String parameter,
                                             java.util.Map def)
      • setParameter

        public boolean setParameter​(java.lang.String parameter,
                                    java.util.Map value)
      • getDirectoryParameter

        public java.lang.String getDirectoryParameter​(java.lang.String parameter)
                                               throws java.io.IOException
        Throws:
        java.io.IOException
      • getFloatParameter

        public float getFloatParameter​(java.lang.String parameter)
      • getFloatParameter

        public float getFloatParameter​(java.lang.String parameter,
                                       float def_val)
      • setParameter

        public boolean setParameter​(java.lang.String parameter,
                                    float defaultValue)
      • setParameter

        public boolean setParameter​(java.lang.String parameter,
                                    int defaultValue)
      • setParameter

        public boolean setParameter​(java.lang.String parameter,
                                    long defaultValue)
      • setParameter

        public boolean setParameter​(java.lang.String parameter,
                                    byte[] defaultValue)
      • setParameter

        public boolean setParameter​(java.lang.String parameter,
                                    java.lang.String defaultValue)
      • hasParameter

        public boolean hasParameter​(java.lang.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​(java.lang.String parameter,
                                       java.lang.String value)
      • setRGBParameter

        public boolean setRGBParameter​(java.lang.String parameter,
                                       int red,
                                       int green,
                                       int blue,
                                       java.lang.Boolean override)
      • setRGBParameter

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

        public int[] getRGBParameter​(java.lang.String parameter)
      • getParameter

        public java.lang.Object getParameter​(java.lang.String name)
      • setParameterRawNoNotify

        public void setParameterRawNoNotify​(java.lang.String parameter,
                                            java.lang.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​(java.lang.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​(java.lang.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​(java.lang.String parameter)
      • doesParameterNonDefaultExist

        public boolean doesParameterNonDefaultExist​(java.lang.String parameter)
        Does the given parameter exist.
        Parameters:
        parameter - to check
        Returns:
        true if exists, false if not present
      • notifyParameterListenersIfChanged

        private boolean notifyParameterListenersIfChanged​(java.lang.String parameter,
                                                          java.lang.Long newValue,
                                                          java.lang.Long oldValue)
      • notifyParameterListenersIfChanged

        private boolean notifyParameterListenersIfChanged​(java.lang.String parameter,
                                                          byte[] newValue,
                                                          byte[] oldValue)
      • registerExportedParameter

        public void registerExportedParameter​(java.lang.String name,
                                              java.lang.String key)
      • updateExportableParameter

        void updateExportableParameter​(java.lang.String key)
      • exportParameters

        void exportParameters()
      • loadExportedParameters

        private void loadExportedParameters()
      • resetToDefaults

        public void resetToDefaults()
      • notifyParameterListeners

        private void notifyParameterListeners​(java.lang.String parameter)
      • addWeakParameterListener

        public void addWeakParameterListener​(java.lang.String parameter,
                                             ParameterListener new_listener)
      • removeWeakParameterListener

        public void removeWeakParameterListener​(java.lang.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​(java.lang.String parameter,
                                         ParameterListener new_listener)
      • removeParameterListener

        public void removeParameterListener​(java.lang.String parameter,
                                            ParameterListener listener)
      • ignoreKeyForDump

        private boolean ignoreKeyForDump​(java.lang.String key)
      • dumpConfigChanges

        public void dumpConfigChanges​(IndentWriter writer)
      • bytesToString

        protected static java.lang.String bytesToString​(byte[] bytes)
      • stringToBytes

        protected static byte[] stringToBytes​(java.lang.String str)