Class PluginConfigImpl

  • All Implemented Interfaces:
    PluginConfig

    public class PluginConfigImpl
    extends java.lang.Object
    implements PluginConfig
    • Field Detail

      • external_to_internal_key_map

        protected static java.util.Map<java.lang.String,​java.lang.String> external_to_internal_key_map
      • fake_values_when_disabled

        private static java.util.Map fake_values_when_disabled
      • fake_values_ref_count

        private static int fake_values_ref_count
      • keyPrefix

        private java.lang.String keyPrefix
      • allow_key_modification

        private boolean allow_key_modification
    • Constructor Detail

      • PluginConfigImpl

        public PluginConfigImpl​(PluginInterface _plugin_interface,
                                java.lang.String _key)
    • Method Detail

      • checkValidCoreParam

        public void checkValidCoreParam​(java.lang.String name)
      • setEnablePluginCoreConfigChange

        public static void setEnablePluginCoreConfigChange​(boolean enabled)
      • getFakeValueWhenDisabled

        private static java.lang.Object getFakeValueWhenDisabled​(java.lang.String key,
                                                                 java.lang.String name)
      • setFakeValueWhenDisabled

        private static boolean setFakeValueWhenDisabled​(java.lang.String key,
                                                        java.lang.String name,
                                                        java.lang.Object value)
      • getPluginConfigKeyPrefix

        public java.lang.String getPluginConfigKeyPrefix()
        Specified by:
        getPluginConfigKeyPrefix in interface PluginConfig
        Returns:
        the prefix used when storing configuration values in the config file for this plugin's config parameters
      • getBooleanParameter

        private boolean getBooleanParameter​(java.lang.String name,
                                            boolean _default,
                                            boolean map_name,
                                            boolean set_default)
      • getColorParameter

        private int[] getColorParameter​(java.lang.String name,
                                        int[] _default,
                                        boolean map_name,
                                        boolean set_default)
      • getColorParameter0

        private int[] getColorParameter0​(java.lang.String name,
                                         int[] _default,
                                         boolean set_default)
      • getByteParameter

        private byte[] getByteParameter​(java.lang.String name,
                                        byte[] _default,
                                        boolean map_name,
                                        boolean set_default)
      • getFloatParameter

        private float getFloatParameter​(java.lang.String name,
                                        float _default,
                                        boolean map_name,
                                        boolean set_default)
      • getIntParameter

        private int getIntParameter​(java.lang.String name,
                                    int _default,
                                    boolean map_name,
                                    boolean set_default)
      • getLongParameter

        private long getLongParameter​(java.lang.String name,
                                      long _default,
                                      boolean map_name,
                                      boolean set_default)
      • getStringParameter

        private java.lang.String getStringParameter​(java.lang.String name,
                                                    java.lang.String _default,
                                                    boolean map_name,
                                                    boolean set_default)
      • getDefaultedBooleanParameter

        private boolean getDefaultedBooleanParameter​(java.lang.String name,
                                                     boolean map_name)
      • getDefaultedByteParameter

        private byte[] getDefaultedByteParameter​(java.lang.String name,
                                                 boolean map_name)
      • getDefaultedColorParameter

        private int[] getDefaultedColorParameter​(java.lang.String name,
                                                 boolean map_name)
      • getDefaultedFloatParameter

        private float getDefaultedFloatParameter​(java.lang.String name,
                                                 boolean map_name)
      • getDefaultedIntParameter

        private int getDefaultedIntParameter​(java.lang.String name,
                                             boolean map_name)
      • getDefaultedLongParameter

        private long getDefaultedLongParameter​(java.lang.String name,
                                               boolean map_name)
      • getDefaultedStringParameter

        private java.lang.String getDefaultedStringParameter​(java.lang.String name,
                                                             boolean map_name)
      • getCoreBooleanParameter

        public boolean getCoreBooleanParameter​(java.lang.String name)
        Description copied from interface: PluginConfig
        Returns the value of a core boolean parameter.
        Specified by:
        getCoreBooleanParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        Returns:
        The value of the parameter.
      • getCoreByteParameter

        public byte[] getCoreByteParameter​(java.lang.String name)
        Description copied from interface: PluginConfig
        Returns the value of a core byte array parameter.
        Specified by:
        getCoreByteParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        Returns:
        The value of the parameter.
      • getCoreColorParameter

        public int[] getCoreColorParameter​(java.lang.String name)
        Description copied from interface: PluginConfig
        Returns the value of a core color parameter.

        It will return null if no color parameter is stored, or an integer array of size 4 representing the red, green and blue values, and a flag indicating if the color is an override of the default or not (0 indicates no override, 1 means it is overridden).

        In many cases, the override flag can just be ignored.

        Specified by:
        getCoreColorParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        Returns:
        The value of the parameter.
      • getCoreFloatParameter

        public float getCoreFloatParameter​(java.lang.String name)
        Description copied from interface: PluginConfig
        Returns the value of a core float parameter.
        Specified by:
        getCoreFloatParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        Returns:
        The value of the parameter.
      • getCoreIntParameter

        public int getCoreIntParameter​(java.lang.String name)
        Description copied from interface: PluginConfig
        Returns the value of a core int parameter.
        Specified by:
        getCoreIntParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        Returns:
        The value of the parameter.
      • getCoreLongParameter

        public long getCoreLongParameter​(java.lang.String name)
        Description copied from interface: PluginConfig
        Returns the value of a core long parameter.
        Specified by:
        getCoreLongParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        Returns:
        The value of the parameter.
      • getCoreStringParameter

        public java.lang.String getCoreStringParameter​(java.lang.String name)
        Description copied from interface: PluginConfig
        Returns the value of a core string parameter.
        Specified by:
        getCoreStringParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        Returns:
        The value of the parameter.
      • setCoreBooleanParameter

        public void setCoreBooleanParameter​(java.lang.String name,
                                            boolean value)
        Description copied from interface: PluginConfig
        Sets the value of a core boolean parameter.
        Specified by:
        setCoreBooleanParameter in interface PluginConfig
        Parameters:
        name - The parameter name, which must be one defined from the above core constants.
        value - The new value for the parameter.
      • setCoreByteParameter

        public void setCoreByteParameter​(java.lang.String name,
                                         byte[] value)
        Description copied from interface: PluginConfig
        Sets the value of a core byte array parameter.
        Specified by:
        setCoreByteParameter in interface PluginConfig
        Parameters:
        name - The parameter name, which must be one defined from the above core constants.
        value - The new value for the parameter.
      • setCoreColorParameter

        public void setCoreColorParameter​(java.lang.String name,
                                          int[] value)
        Description copied from interface: PluginConfig
        Sets the value of a core byte array parameter.

        The value should be an integer array of size 3 representing the red, green and blue values - or null to disable it.

        Specified by:
        setCoreColorParameter in interface PluginConfig
        Parameters:
        name - The parameter name, which must be one defined from the above core constants.
        value - The new value for the parameter.
      • setCoreColorParameter

        public void setCoreColorParameter​(java.lang.String name,
                                          int[] value,
                                          boolean override)
        Description copied from interface: PluginConfig
        Sets the value of a core byte array parameter.

        The value should be an integer array of size 3 representing the red, green and blue values - or null to disable it.

        The override flag is used to indicate if the value being set is overriding the default value. This is mainly used for interface purposes.

        Specified by:
        setCoreColorParameter in interface PluginConfig
        Parameters:
        name - The parameter name, which must be one defined from the above core constants.
        value - The new value for the parameter.
        override - true if the value is overridden from the default.
      • setCoreFloatParameter

        public void setCoreFloatParameter​(java.lang.String name,
                                          float value)
        Description copied from interface: PluginConfig
        Sets the value of a core float parameter.
        Specified by:
        setCoreFloatParameter in interface PluginConfig
        Parameters:
        name - The parameter name, which must be one defined from the above core constants.
        value - The new value for the parameter.
      • setCoreIntParameter

        public void setCoreIntParameter​(java.lang.String name,
                                        int value)
        Description copied from interface: PluginConfig
        Sets the value of a core int parameter.
        Specified by:
        setCoreIntParameter in interface PluginConfig
        Parameters:
        name - The parameter name, which must be one defined from the above core constants.
        value - The new value for the parameter.
      • setCoreLongParameter

        public void setCoreLongParameter​(java.lang.String name,
                                         long value)
        Description copied from interface: PluginConfig
        Sets the value of a core long parameter.
        Specified by:
        setCoreLongParameter in interface PluginConfig
        Parameters:
        name - The parameter name, which must be one defined from the above core constants.
        value - The new value for the parameter.
      • setCoreStringParameter

        public void setCoreStringParameter​(java.lang.String name,
                                           java.lang.String value)
        Description copied from interface: PluginConfig
        Sets the value of a core string parameter.
        Specified by:
        setCoreStringParameter in interface PluginConfig
        Parameters:
        name - The parameter name, which must be one defined from the above core constants.
        value - The new value for the parameter.
      • getPluginBooleanParameter

        public boolean getPluginBooleanParameter​(java.lang.String name)
        Description copied from interface: PluginConfig
        Returns the value of a plugin boolean parameter.
        Specified by:
        getPluginBooleanParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        Returns:
        The value of the parameter.
      • getPluginBooleanParameter

        public boolean getPluginBooleanParameter​(java.lang.String name,
                                                 boolean default_value)
        Description copied from interface: PluginConfig
        Returns the value of a plugin boolean parameter.
        Specified by:
        getPluginBooleanParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        default_value - The default value to return if one is not defined.
        Returns:
        The value of the parameter.
      • getPluginByteParameter

        public byte[] getPluginByteParameter​(java.lang.String name)
        Description copied from interface: PluginConfig
        Returns the value of a plugin byte array parameter.
        Specified by:
        getPluginByteParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        Returns:
        The value of the parameter.
      • getPluginByteParameter

        public byte[] getPluginByteParameter​(java.lang.String name,
                                             byte[] default_value)
        Description copied from interface: PluginConfig
        Returns the value of a plugin byte array parameter.
        Specified by:
        getPluginByteParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        default_value - The default value to return if one is not defined.
        Returns:
        The value of the parameter.
      • getPluginColorParameter

        public int[] getPluginColorParameter​(java.lang.String name)
        Description copied from interface: PluginConfig
        Returns the value of a plugin color parameter.

        It will return null if no color parameter is stored, or an integer array of size 4 representing the red, green and blue values, and a flag indicating if the color is an override of the default or not (0 indicates no override, 1 means it is overridden).

        In many cases, the override flag can just be ignored.

        Specified by:
        getPluginColorParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        Returns:
        The value of the parameter.
      • getPluginColorParameter

        public int[] getPluginColorParameter​(java.lang.String name,
                                             int[] default_value)
        Description copied from interface: PluginConfig
        Returns the value of a plugin color parameter.

        It will return null if no color parameter is stored, or an integer array of size 4 representing the red, green and blue values, and a flag indicating if the color is an override of the default or not (0 indicates no override, 1 means it is overridden).

        In many cases, the override flag can just be ignored.

        Specified by:
        getPluginColorParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        default_value - The default value to return if one is not defined.
        Returns:
        The value of the parameter.
      • getPluginFloatParameter

        public float getPluginFloatParameter​(java.lang.String name)
        Description copied from interface: PluginConfig
        Returns the value of a plugin float parameter.
        Specified by:
        getPluginFloatParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        Returns:
        The value of the parameter.
      • getPluginFloatParameter

        public float getPluginFloatParameter​(java.lang.String name,
                                             float default_value)
        Description copied from interface: PluginConfig
        Returns the value of a plugin float parameter.
        Specified by:
        getPluginFloatParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        default_value - The default value to return if one is not defined.
        Returns:
        The value of the parameter.
      • getPluginIntParameter

        public int getPluginIntParameter​(java.lang.String name)
        Description copied from interface: PluginConfig
        Returns the value of a plugin int parameter.
        Specified by:
        getPluginIntParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        Returns:
        The value of the parameter.
      • getPluginIntParameter

        public int getPluginIntParameter​(java.lang.String name,
                                         int default_value)
        Description copied from interface: PluginConfig
        Returns the value of a plugin int parameter.
        Specified by:
        getPluginIntParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        default_value - The default value to return if one is not defined.
        Returns:
        The value of the parameter.
      • getPluginLongParameter

        public long getPluginLongParameter​(java.lang.String name)
        Description copied from interface: PluginConfig
        Returns the value of a plugin long parameter.
        Specified by:
        getPluginLongParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        Returns:
        The value of the parameter.
      • getPluginLongParameter

        public long getPluginLongParameter​(java.lang.String name,
                                           long default_value)
        Description copied from interface: PluginConfig
        Returns the value of a plugin long parameter.
        Specified by:
        getPluginLongParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        default_value - The default value to return if one is not defined.
        Returns:
        The value of the parameter.
      • getPluginStringParameter

        public java.lang.String getPluginStringParameter​(java.lang.String name)
        Description copied from interface: PluginConfig
        Returns the value of a plugin string parameter.
        Specified by:
        getPluginStringParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        Returns:
        The value of the parameter.
      • getPluginStringParameter

        public java.lang.String getPluginStringParameter​(java.lang.String name,
                                                         java.lang.String default_value)
        Description copied from interface: PluginConfig
        Returns the value of a plugin string parameter.
        Specified by:
        getPluginStringParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        default_value - The default value to return if one is not defined.
        Returns:
        The value of the parameter.
      • setPluginParameter

        public void setPluginParameter​(java.lang.String name,
                                       boolean value)
        Description copied from interface: PluginConfig
        Sets the value of a plugin boolean parameter.
        Specified by:
        setPluginParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        value - The new value for the parameter.
      • setPluginParameter

        public void setPluginParameter​(java.lang.String name,
                                       byte[] value)
        Description copied from interface: PluginConfig
        Sets the value of a plugin byte array parameter.
        Specified by:
        setPluginParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        value - The new value for the parameter.
      • setPluginParameter

        public void setPluginParameter​(java.lang.String name,
                                       float value)
        Description copied from interface: PluginConfig
        Sets the value of a plugin float parameter.
        Specified by:
        setPluginParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        value - The new value for the parameter.
      • setPluginParameter

        public void setPluginParameter​(java.lang.String name,
                                       int value)
        Description copied from interface: PluginConfig
        Sets the value of a plugin int parameter.
        Specified by:
        setPluginParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        value - The new value for the parameter.
      • setPluginParameter

        public void setPluginParameter​(java.lang.String name,
                                       long value)
        Description copied from interface: PluginConfig
        Sets the value of a plugin long parameter.
        Specified by:
        setPluginParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        value - The new value for the parameter.
      • setPluginParameter

        public void setPluginParameter​(java.lang.String name,
                                       java.lang.String value)
        Description copied from interface: PluginConfig
        Sets the value of a plugin string parameter.
        Specified by:
        setPluginParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        value - The new value for the parameter.
      • setPluginColorParameter

        public void setPluginColorParameter​(java.lang.String name,
                                            int[] value)
        Description copied from interface: PluginConfig
        Sets the value of a plugin color parameter.

        The value should be an integer array of size 3 representing the red, green and blue values - or null to disable it.

        Specified by:
        setPluginColorParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        value - The new value for the parameter.
      • setPluginColorParameter

        public void setPluginColorParameter​(java.lang.String name,
                                            int[] value,
                                            boolean override)
        Description copied from interface: PluginConfig
        Sets the value of a plugin color parameter.

        The value should be an integer array of size 3 representing the red, green and blue values - or null to disable it.

        The override flag is used to indicate if the value being set is overriding the default value. This is mainly used for interface purposes.

        Specified by:
        setPluginColorParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        value - The new value for the parameter.
        override - true if the value is overridden from the default.
      • getUnsafeBooleanParameter

        public boolean getUnsafeBooleanParameter​(java.lang.String name)
        Description copied from interface: PluginConfig
        Returns the value of a core boolean parameter. Note: the semantics of this method will not be guaranteed - core parameter names may change in the future, and this method will not do any parameter name mapping for you, so take care when using this method.
        Specified by:
        getUnsafeBooleanParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        Returns:
        The value of the parameter.
      • getUnsafeBooleanParameter

        public boolean getUnsafeBooleanParameter​(java.lang.String name,
                                                 boolean default_value)
        Description copied from interface: PluginConfig
        Returns the value of a core boolean parameter. Note: the semantics of this method will not be guaranteed - core parameter names may change in the future, and this method will not do any parameter name mapping for you, so take care when using this method.
        Specified by:
        getUnsafeBooleanParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        default_value - The default value to return if one is not defined.
        Returns:
        The value of the parameter.
      • getUnsafeByteParameter

        public byte[] getUnsafeByteParameter​(java.lang.String name)
        Description copied from interface: PluginConfig
        Returns the value of a core byte array parameter. Note: the semantics of this method will not be guaranteed - core parameter names may change in the future, and this method will not do any parameter name mapping for you, so take care when using this method.
        Specified by:
        getUnsafeByteParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        Returns:
        The value of the parameter.
      • getUnsafeByteParameter

        public byte[] getUnsafeByteParameter​(java.lang.String name,
                                             byte[] default_value)
        Description copied from interface: PluginConfig
        Returns the value of a core byte array parameter. Note: the semantics of this method will not be guaranteed - core parameter names may change in the future, and this method will not do any parameter name mapping for you, so take care when using this method.
        Specified by:
        getUnsafeByteParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        default_value - The default value to return if one is not defined.
        Returns:
        The value of the parameter.
      • getUnsafeColorParameter

        public int[] getUnsafeColorParameter​(java.lang.String name)
        Description copied from interface: PluginConfig
        Returns the value of a core color parameter. Note: the semantics of this method will not be guaranteed - core parameter names may change in the future, and this method will not do any parameter name mapping for you, so take care when using this method.

        It will return null if no color parameter is stored, or an integer array of size 4 representing the red, green and blue values, and a flag indicating if the color is an override of the default or not (0 indicates no override, 1 means it is overridden).

        In many cases, the override flag can just be ignored.

        Specified by:
        getUnsafeColorParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        Returns:
        The value of the parameter.
      • getUnsafeColorParameter

        public int[] getUnsafeColorParameter​(java.lang.String name,
                                             int[] default_value)
        Description copied from interface: PluginConfig
        Returns the value of a core color parameter. Note: the semantics of this method will not be guaranteed - core parameter names may change in the future, and this method will not do any parameter name mapping for you, so take care when using this method.

        It will return null if no color parameter is stored, or an integer array of size 4 representing the red, green and blue values, and a flag indicating if the color is an override of the default or not (0 indicates no override, 1 means it is overridden).

        In many cases, the override flag can just be ignored.

        Specified by:
        getUnsafeColorParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        default_value - The default value to return if one is not defined.
        Returns:
        The value of the parameter.
      • getUnsafeFloatParameter

        public float getUnsafeFloatParameter​(java.lang.String name)
        Description copied from interface: PluginConfig
        Returns the value of a core float parameter. Note: the semantics of this method will not be guaranteed - core parameter names may change in the future, and this method will not do any parameter name mapping for you, so take care when using this method.
        Specified by:
        getUnsafeFloatParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        Returns:
        The value of the parameter.
      • getUnsafeFloatParameter

        public float getUnsafeFloatParameter​(java.lang.String name,
                                             float default_value)
        Description copied from interface: PluginConfig
        Returns the value of a core float parameter. Note: the semantics of this method will not be guaranteed - core parameter names may change in the future, and this method will not do any parameter name mapping for you, so take care when using this method.
        Specified by:
        getUnsafeFloatParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        default_value - The default value to return if one is not defined.
        Returns:
        The value of the parameter.
      • getUnsafeIntParameter

        public int getUnsafeIntParameter​(java.lang.String name)
        Description copied from interface: PluginConfig
        Returns the value of a core int parameter. Note: the semantics of this method will not be guaranteed - core parameter names may change in the future, and this method will not do any parameter name mapping for you, so take care when using this method.
        Specified by:
        getUnsafeIntParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        Returns:
        The value of the parameter.
      • getUnsafeIntParameter

        public int getUnsafeIntParameter​(java.lang.String name,
                                         int default_value)
        Description copied from interface: PluginConfig
        Returns the value of a core int parameter. Note: the semantics of this method will not be guaranteed - core parameter names may change in the future, and this method will not do any parameter name mapping for you, so take care when using this method.
        Specified by:
        getUnsafeIntParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        default_value - The default value to return if one is not defined.
        Returns:
        The value of the parameter.
      • getUnsafeLongParameter

        public long getUnsafeLongParameter​(java.lang.String name)
        Description copied from interface: PluginConfig
        Returns the value of a core long parameter. Note: the semantics of this method will not be guaranteed - core parameter names may change in the future, and this method will not do any parameter name mapping for you, so take care when using this method.
        Specified by:
        getUnsafeLongParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        Returns:
        The value of the parameter.
      • getUnsafeLongParameter

        public long getUnsafeLongParameter​(java.lang.String name,
                                           long default_value)
        Description copied from interface: PluginConfig
        Returns the value of a core long parameter. Note: the semantics of this method will not be guaranteed - core parameter names may change in the future, and this method will not do any parameter name mapping for you, so take care when using this method.
        Specified by:
        getUnsafeLongParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        default_value - The default value to return if one is not defined.
        Returns:
        The value of the parameter.
      • getUnsafeStringParameter

        public java.lang.String getUnsafeStringParameter​(java.lang.String name)
        Description copied from interface: PluginConfig
        Returns the value of a core string parameter. Note: the semantics of this method will not be guaranteed - core parameter names may change in the future, and this method will not do any parameter name mapping for you, so take care when using this method.
        Specified by:
        getUnsafeStringParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        Returns:
        The value of the parameter.
      • getUnsafeStringParameter

        public java.lang.String getUnsafeStringParameter​(java.lang.String name,
                                                         java.lang.String default_value)
        Description copied from interface: PluginConfig
        Returns the value of a core string parameter. Note: the semantics of this method will not be guaranteed - core parameter names may change in the future, and this method will not do any parameter name mapping for you, so take care when using this method.
        Specified by:
        getUnsafeStringParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        default_value - The default value to return if one is not defined.
        Returns:
        The value of the parameter.
      • setUnsafeBooleanParameter

        public void setUnsafeBooleanParameter​(java.lang.String name,
                                              boolean value)
        Description copied from interface: PluginConfig
        Sets the value of a core boolean parameter. Note: the semantics of this method will not be guaranteed - core parameter names may change in the future, and this method will not do any parameter name mapping for you, so take care when using this method.
        Specified by:
        setUnsafeBooleanParameter in interface PluginConfig
        Parameters:
        name - The parameter name, which must be one defined from the above core constants.
        value - The new value for the parameter.
      • setUnsafeByteParameter

        public void setUnsafeByteParameter​(java.lang.String name,
                                           byte[] value)
        Description copied from interface: PluginConfig
        Sets the value of a core byte array parameter. Note: the semantics of this method will not be guaranteed - core parameter names may change in the future, and this method will not do any parameter name mapping for you, so take care when using this method.
        Specified by:
        setUnsafeByteParameter in interface PluginConfig
        Parameters:
        name - The parameter name, which must be one defined from the above core constants.
        value - The new value for the parameter.
      • setUnsafeColorParameter

        public void setUnsafeColorParameter​(java.lang.String name,
                                            int[] value)
        Description copied from interface: PluginConfig
        Returns the value of a core color parameter. Note: the semantics of this method will not be guaranteed - core parameter names may change in the future, and this method will not do any parameter name mapping for you, so take care when using this method.

        The value should be an integer array of size 3 representing the red, green and blue values - or null to disable it.

        Specified by:
        setUnsafeColorParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        value - The new value for the parameter.
      • setUnsafeColorParameter

        public void setUnsafeColorParameter​(java.lang.String name,
                                            int[] value,
                                            boolean override)
        Description copied from interface: PluginConfig
        Returns the value of a core color parameter. Note: the semantics of this method will not be guaranteed - core parameter names may change in the future, and this method will not do any parameter name mapping for you, so take care when using this method.

        The value should be an integer array of size 3 representing the red, green and blue values - or null to disable it.

        The override flag is used to indicate if the value being set is overriding the default value. This is mainly used for interface purposes.

        Specified by:
        setUnsafeColorParameter in interface PluginConfig
        Parameters:
        name - The parameter name.
        value - The default value to return if one is not defined.
        override - true if the value is overridden from the default.
      • setUnsafeFloatParameter

        public void setUnsafeFloatParameter​(java.lang.String name,
                                            float value)
        Description copied from interface: PluginConfig
        Sets the value of a core float parameter. Note: the semantics of this method will not be guaranteed - core parameter names may change in the future, and this method will not do any parameter name mapping for you, so take care when using this method.
        Specified by:
        setUnsafeFloatParameter in interface PluginConfig
        Parameters:
        name - The parameter name, which must be one defined from the above core constants.
        value - The new value for the parameter.
      • setUnsafeIntParameter

        public void setUnsafeIntParameter​(java.lang.String name,
                                          int value)
        Description copied from interface: PluginConfig
        Sets the value of a core int parameter. Note: the semantics of this method will not be guaranteed - core parameter names may change in the future, and this method will not do any parameter name mapping for you, so take care when using this method.
        Specified by:
        setUnsafeIntParameter in interface PluginConfig
        Parameters:
        name - The parameter name, which must be one defined from the above core constants.
        value - The new value for the parameter.
      • setUnsafeLongParameter

        public void setUnsafeLongParameter​(java.lang.String name,
                                           long value)
        Description copied from interface: PluginConfig
        Sets the value of a core long parameter. Note: the semantics of this method will not be guaranteed - core parameter names may change in the future, and this method will not do any parameter name mapping for you, so take care when using this method.
        Specified by:
        setUnsafeLongParameter in interface PluginConfig
        Parameters:
        name - The parameter name, which must be one defined from the above core constants.
        value - The new value for the parameter.
      • setUnsafeStringParameter

        public void setUnsafeStringParameter​(java.lang.String name,
                                             java.lang.String value)
        Description copied from interface: PluginConfig
        Sets the value of a core string parameter. Note: the semantics of this method will not be guaranteed - core parameter names may change in the future, and this method will not do any parameter name mapping for you, so take care when using this method.
        Specified by:
        setUnsafeStringParameter in interface PluginConfig
        Parameters:
        name - The parameter name, which must be one defined from the above core constants.
        value - The new value for the parameter.
      • getPluginStringListParameter

        public java.lang.String[] getPluginStringListParameter​(java.lang.String key)
        Description copied from interface: PluginConfig
        Returns the value of a plugin string-list parameter. If no value is set, an empty string array will be returned.
        Specified by:
        getPluginStringListParameter in interface PluginConfig
        Parameters:
        key - The parameter name.
        Returns:
        The value of the parameter.
      • setPluginStringListParameter

        public void setPluginStringListParameter​(java.lang.String key,
                                                 java.lang.String[] value)
        Description copied from interface: PluginConfig
        Sets the value of a plugin string-list parameter.
        Specified by:
        setPluginStringListParameter in interface PluginConfig
        Parameters:
        key - The parameter name.
        value - The new value of the parameter.
      • getPluginListParameter

        public java.util.List getPluginListParameter​(java.lang.String key,
                                                     java.util.List default_value)
        Description copied from interface: PluginConfig
        Returns the value of a plugin list parameter. The contents of the list must conform to bencodable rules (e.g. Map, Long, byte[], List)
        Specified by:
        getPluginListParameter in interface PluginConfig
        Parameters:
        key - The parameter name.
        default_value - The default value to return if one is not defined.
        Returns:
        The value of the parameter.
      • setPluginListParameter

        public void setPluginListParameter​(java.lang.String key,
                                           java.util.List value)
        Description copied from interface: PluginConfig
        Sets the value of a plugin list parameter. The contents of the list must conform to bencodable rules (e.g. Map, Long, byte[], List)
        Specified by:
        setPluginListParameter in interface PluginConfig
        Parameters:
        key - The parameter name.
        value - The new value for the parameter.
      • getPluginMapParameter

        public java.util.Map getPluginMapParameter​(java.lang.String key,
                                                   java.util.Map default_value)
        Description copied from interface: PluginConfig
        Returns the value of a plugin map parameter. The contents of the map must conform to bencodable rules (e.g. Map, Long, byte[], List)
        Specified by:
        getPluginMapParameter in interface PluginConfig
        Parameters:
        key - The parameter name.
        default_value - The default value to return if one is not defined.
        Returns:
        The value of the parameter.
      • setPluginMapParameter

        public void setPluginMapParameter​(java.lang.String key,
                                          java.util.Map value)
        Description copied from interface: PluginConfig
        Sets the value of a plugin map parameter. The contents of the map must conform to bencodable rules (e.g. Map, Long, byte[], List)
        Specified by:
        setPluginMapParameter in interface PluginConfig
        Parameters:
        key - The parameter name.
        value - The new value for the parameter.
      • setPluginParameter

        public void setPluginParameter​(java.lang.String key,
                                       int value,
                                       boolean global)
        Description copied from interface: PluginConfig
        Sets the value of a plugin int parameter.
        Specified by:
        setPluginParameter in interface PluginConfig
        Parameters:
        key - The parameter name.
        value - The new value for the parameter.
        global - Whether or not this parameter should be made externally accessible.
      • removePluginParameter

        public boolean removePluginParameter​(java.lang.String key)
        Description copied from interface: PluginConfig
        Removes the plugin parameter with the given name.
        Specified by:
        removePluginParameter in interface PluginConfig
        Parameters:
        key - Name of the parameter.
        Returns:
        true if the parameter was found and removed.
      • removePluginColorParameter

        public boolean removePluginColorParameter​(java.lang.String key)
        Description copied from interface: PluginConfig
        Removes the plugin color parameter with the given name.
        Specified by:
        removePluginColorParameter in interface PluginConfig
        Parameters:
        key - Name of the parameter.
        Returns:
        true if the parameter was found and removed.
      • getUnsafeParameterList

        public java.util.Map getUnsafeParameterList()
        Description copied from interface: PluginConfig
        Returns a map giving parameter names -> parameter values. Value can be Long or String as the type is actually not known by the core (might fix one day). Therefore, float values are actually represented by their String format: boolean - Long 0 or 1 int - Long.intValue float - String value String - String Unsafe methods - existence/semantics of parameters not guaranteed to be maintained across versions If something changes and breaks your plugin, don't come complaining to me
        Specified by:
        getUnsafeParameterList in interface PluginConfig
      • save

        public void save()
        Description copied from interface: PluginConfig
        make sure you save it after making changes!
        Specified by:
        save in interface PluginConfig
      • getPluginUserFile

        public java.io.File getPluginUserFile​(java.lang.String name)
        Description copied from interface: PluginConfig
        Returns a file that can be used by the plugin to save user-specific state.

        This will be client-user-dir/plugins/plugin-name/name.

        Specified by:
        getPluginUserFile in interface PluginConfig
        Returns:
      • mapKeyName

        private java.lang.String mapKeyName​(java.lang.String key,
                                            boolean for_set)
      • hasParameter

        public boolean hasParameter​(java.lang.String param_name)
        Description copied from interface: PluginConfig
        Returns true if a core parameter with the given name exists.
        Specified by:
        hasParameter in interface PluginConfig
      • hasPluginParameter

        public boolean hasPluginParameter​(java.lang.String param_name)
        Description copied from interface: PluginConfig
        Returns true if a plugin parameter with the given name exists.
        Specified by:
        hasPluginParameter in interface PluginConfig
      • notifyRGBParamExists

        public void notifyRGBParamExists​(java.lang.String param)
      • notifyParamExists

        public void notifyParamExists​(java.lang.String param)
      • enableExternalConfigSource

        public PluginConfigSource enableExternalConfigSource()
        Description copied from interface: PluginConfig
        Enable the plugin to store configuration parameters into a separate external configuration file. Note: once this method is called, you need to invoke PluginConfigSource.initialize() for the external configuration file to be properly integrated with the client.

        When a plugin is first initialised, it should call this method as soon as possible during the initialization stage. This then configures the PluginConfig object to store any parameter values into an external configuration file (rather than storing it directly with the main configuration file used by the client).

        When this method is invoked, it will return an object which allows the filename to be chosen - it allows a limited amount of manipulation of the configuration file. This method only needs to be invoked once.

        All methods which get and set plugin parameters on this object will store data in the external configuration file. The use of classes like BasicPluginConfigModel will automatically integrate parameters to the external configuration source.

        However, if you use any other mechanism to store parameter data, you may need to call the registerParameter to integrate the parameter properly.

        Specified by:
        enableExternalConfigSource in interface PluginConfig
        Returns:
        The PluginConfigSource object representing the external configuration file.
      • getPluginConfigSource

        public PluginConfigSource getPluginConfigSource()
        Description copied from interface: PluginConfig
        Returns the PluginConfigSource object used for this plugin configuration (or null if an external configuration object isn't used).
        Specified by:
        getPluginConfigSource in interface PluginConfig
        Returns:
        The PluginConfigSource object.
      • setPluginConfigSource

        public void setPluginConfigSource​(PluginConfigSource source)
        Description copied from interface: PluginConfig
        Sets the plugin configuration source object to use for storing parameters for this plugin config object.

        This method should only be used as an alternative to PluginConfig.enableExternalConfigSource(). You will only need to use this method if you use the getLocalPluginInterface method to store data in a separate namespace, but want to use the same configuration file to store data in.

        Specified by:
        setPluginConfigSource in interface PluginConfig
        Parameters:
        source - The PluginConfigSource object to use.