Class PluginConfigImpl

java.lang.Object
com.biglybt.pifimpl.local.PluginConfigImpl
All Implemented Interfaces:
PluginConfig

public class PluginConfigImpl extends Object implements PluginConfig
  • Field Details

    • external_to_internal_key_map

      protected static Map<String,String> external_to_internal_key_map
    • external_source

      private PluginConfigSourceImpl external_source
    • listenersPluginConfig

      private HashMap<PluginConfigListener,COConfigurationListener> listenersPluginConfig
    • fake_values_when_disabled

      private static Map fake_values_when_disabled
    • fake_values_ref_count

      private static int fake_values_ref_count
    • plugin_interface

      private PluginInterface plugin_interface
    • keyPrefix

      private String keyPrefix
    • allow_key_modification

      private boolean allow_key_modification
  • Constructor Details

  • Method Details

    • checkValidCoreParam

      public void checkValidCoreParam(String name)
    • setEnablePluginCoreConfigChange

      public static void setEnablePluginCoreConfigChange(boolean enabled)
    • getFakeValueWhenDisabled

      private static Object getFakeValueWhenDisabled(String key, String name)
    • setFakeValueWhenDisabled

      private static boolean setFakeValueWhenDisabled(String key, String name, Object value)
    • isNewInstall

      public boolean isNewInstall()
      Specified by:
      isNewInstall in interface PluginConfig
    • getPluginConfigKeyPrefix

      public 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
    • setPluginConfigKeyPrefix

      public void setPluginConfigKeyPrefix(String _key)
      Specified by:
      setPluginConfigKeyPrefix in interface PluginConfig
      Parameters:
      _key -
    • getBooleanParameter

      private boolean getBooleanParameter(String name, boolean _default, boolean map_name, boolean set_default)
    • getColorParameter

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

      private int[] getColorParameter0(String name, int[] _default, boolean set_default)
    • getByteParameter

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

      private float getFloatParameter(String name, float _default, boolean map_name, boolean set_default)
    • getIntParameter

      private int getIntParameter(String name, int _default, boolean map_name, boolean set_default)
    • getLongParameter

      private long getLongParameter(String name, long _default, boolean map_name, boolean set_default)
    • getStringParameter

      private String getStringParameter(String name, String _default, boolean map_name, boolean set_default)
    • getDefaultedBooleanParameter

      private boolean getDefaultedBooleanParameter(String name, boolean map_name)
    • getDefaultedByteParameter

      private byte[] getDefaultedByteParameter(String name, boolean map_name)
    • getDefaultedColorParameter

      private int[] getDefaultedColorParameter(String name, boolean map_name)
    • getDefaultedFloatParameter

      private float getDefaultedFloatParameter(String name, boolean map_name)
    • getDefaultedIntParameter

      private int getDefaultedIntParameter(String name, boolean map_name)
    • getDefaultedLongParameter

      private long getDefaultedLongParameter(String name, boolean map_name)
    • getDefaultedStringParameter

      private String getDefaultedStringParameter(String name, boolean map_name)
    • getCoreBooleanParameter

      public boolean getCoreBooleanParameter(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(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(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(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(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(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 String getCoreStringParameter(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(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(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(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(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(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(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(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(String name, 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(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(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(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(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(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(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(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(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(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(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(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(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 String getPluginStringParameter(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 String getPluginStringParameter(String name, 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(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(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(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(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(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(String name, 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(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(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(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(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(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(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(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(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(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(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(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(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(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(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 String getUnsafeStringParameter(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 String getUnsafeStringParameter(String name, 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(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(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(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(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(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(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(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(String name, 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 String[] getPluginStringListParameter(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(String key, 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 List getPluginListParameter(String key, 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(String key, 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 Map getPluginMapParameter(String key, 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(String key, 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(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.
    • getParameter

      public ConfigParameter getParameter(String key)
      Specified by:
      getParameter in interface PluginConfig
    • getPluginParameter

      public ConfigParameter getPluginParameter(String key)
      Specified by:
      getPluginParameter in interface PluginConfig
    • removePluginParameter

      public boolean removePluginParameter(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(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 Map getUnsafeParameterList()
      Description copied from interface: PluginConfig
      Returns a mapinvalid input: '<'String,Object> 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 File getPluginUserFile(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
      Parameters:
      name -
      Returns:
    • addListener

      public void addListener(PluginConfigListener l)
      Specified by:
      addListener in interface PluginConfig
    • removeListener

      public void removeListener(PluginConfigListener l)
      Specified by:
      removeListener in interface PluginConfig
    • mapKeyName

      private String mapKeyName(String key, boolean for_set)
    • hasParameter

      public boolean hasParameter(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(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(String param)
    • notifyParamExists

      public void notifyParamExists(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

      invalid reference
      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.