Class PluginConfigImpl
- java.lang.Object
-
- com.biglybt.pifimpl.local.PluginConfigImpl
-
- All Implemented Interfaces:
PluginConfig
public class PluginConfigImpl extends java.lang.Object implements PluginConfig
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
allow_key_modification
private PluginConfigSourceImpl
external_source
protected static java.util.Map<java.lang.String,java.lang.String>
external_to_internal_key_map
private static int
fake_values_ref_count
private static java.util.Map
fake_values_when_disabled
private java.lang.String
keyPrefix
private java.util.HashMap<PluginConfigListener,COConfigurationListener>
listenersPluginConfig
private PluginInterface
plugin_interface
-
Fields inherited from interface com.biglybt.pif.PluginConfig
CORE_PARAM_BOOLEAN_AUTO_SPEED_ON, CORE_PARAM_BOOLEAN_AUTO_SPEED_SEEDING_ON, CORE_PARAM_BOOLEAN_FRIENDLY_HASH_CHECKING, CORE_PARAM_BOOLEAN_MAX_ACTIVE_SEEDING, CORE_PARAM_BOOLEAN_MAX_UPLOAD_SPEED_SEEDING, CORE_PARAM_BOOLEAN_NEW_SEEDS_START_AT_TOP, CORE_PARAM_BOOLEAN_NEW_TORRENTS_START_AS_STOPPED, CORE_PARAM_BOOLEAN_SOCKS_PROXY_NO_INWARD_CONNECTION, CORE_PARAM_INT_INCOMING_TCP_PORT, CORE_PARAM_INT_INCOMING_UDP_PORT, CORE_PARAM_INT_MAX_ACTIVE, CORE_PARAM_INT_MAX_ACTIVE_SEEDING, CORE_PARAM_INT_MAX_CONNECTIONS_GLOBAL, CORE_PARAM_INT_MAX_CONNECTIONS_PER_TORRENT, CORE_PARAM_INT_MAX_DOWNLOAD_SPEED_KBYTES_PER_SEC, CORE_PARAM_INT_MAX_DOWNLOADS, CORE_PARAM_INT_MAX_UPLOAD_SPEED_KBYTES_PER_SEC, CORE_PARAM_INT_MAX_UPLOAD_SPEED_SEEDING_KBYTES_PER_SEC, CORE_PARAM_INT_MAX_UPLOADS, CORE_PARAM_INT_MAX_UPLOADS_SEEDING, CORE_PARAM_STRING_DEFAULT_SAVE_PATH, CORE_PARAM_STRING_LOCAL_BIND_IP, GUI_PARAM_INT_SWT_REFRESH_IN_MS
-
-
Constructor Summary
Constructors Constructor Description PluginConfigImpl(PluginInterface _plugin_interface, java.lang.String _key)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addListener(PluginConfigListener l)
void
checkValidCoreParam(java.lang.String name)
PluginConfigSource
enableExternalConfigSource()
Enable the plugin to store configuration parameters into a separate external configuration file.private boolean
getBooleanParameter(java.lang.String name, boolean _default, boolean map_name, boolean set_default)
private byte[]
getByteParameter(java.lang.String name, byte[] _default, boolean map_name, boolean set_default)
private int[]
getColorParameter(java.lang.String name, int[] _default, boolean map_name, boolean set_default)
private int[]
getColorParameter0(java.lang.String name, int[] _default, boolean set_default)
boolean
getCoreBooleanParameter(java.lang.String name)
Returns the value of a core boolean parameter.byte[]
getCoreByteParameter(java.lang.String name)
Returns the value of a core byte array parameter.int[]
getCoreColorParameter(java.lang.String name)
Returns the value of a core color parameter.float
getCoreFloatParameter(java.lang.String name)
Returns the value of a core float parameter.int
getCoreIntParameter(java.lang.String name)
Returns the value of a core int parameter.long
getCoreLongParameter(java.lang.String name)
Returns the value of a core long parameter.java.lang.String
getCoreStringParameter(java.lang.String name)
Returns the value of a core string parameter.private boolean
getDefaultedBooleanParameter(java.lang.String name, boolean map_name)
private byte[]
getDefaultedByteParameter(java.lang.String name, boolean map_name)
private int[]
getDefaultedColorParameter(java.lang.String name, boolean map_name)
private float
getDefaultedFloatParameter(java.lang.String name, boolean map_name)
private int
getDefaultedIntParameter(java.lang.String name, boolean map_name)
private long
getDefaultedLongParameter(java.lang.String name, boolean map_name)
private java.lang.String
getDefaultedStringParameter(java.lang.String name, boolean map_name)
private static java.lang.Object
getFakeValueWhenDisabled(java.lang.String key, java.lang.String name)
private float
getFloatParameter(java.lang.String name, float _default, boolean map_name, boolean set_default)
private int
getIntParameter(java.lang.String name, int _default, boolean map_name, boolean set_default)
private long
getLongParameter(java.lang.String name, long _default, boolean map_name, boolean set_default)
ConfigParameter
getParameter(java.lang.String key)
boolean
getPluginBooleanParameter(java.lang.String name)
Returns the value of a plugin boolean parameter.boolean
getPluginBooleanParameter(java.lang.String name, boolean default_value)
Returns the value of a plugin boolean parameter.byte[]
getPluginByteParameter(java.lang.String name)
Returns the value of a plugin byte array parameter.byte[]
getPluginByteParameter(java.lang.String name, byte[] default_value)
Returns the value of a plugin byte array parameter.int[]
getPluginColorParameter(java.lang.String name)
Returns the value of a plugin color parameter.int[]
getPluginColorParameter(java.lang.String name, int[] default_value)
Returns the value of a plugin color parameter.java.lang.String
getPluginConfigKeyPrefix()
PluginConfigSource
getPluginConfigSource()
Returns the PluginConfigSource object used for this plugin configuration (or null if an external configuration object isn't used).float
getPluginFloatParameter(java.lang.String name)
Returns the value of a plugin float parameter.float
getPluginFloatParameter(java.lang.String name, float default_value)
Returns the value of a plugin float parameter.int
getPluginIntParameter(java.lang.String name)
Returns the value of a plugin int parameter.int
getPluginIntParameter(java.lang.String name, int default_value)
Returns the value of a plugin int parameter.java.util.List
getPluginListParameter(java.lang.String key, java.util.List default_value)
Returns the value of a plugin list parameter.long
getPluginLongParameter(java.lang.String name)
Returns the value of a plugin long parameter.long
getPluginLongParameter(java.lang.String name, long default_value)
Returns the value of a plugin long parameter.java.util.Map
getPluginMapParameter(java.lang.String key, java.util.Map default_value)
Returns the value of a plugin map parameter.ConfigParameter
getPluginParameter(java.lang.String key)
java.lang.String[]
getPluginStringListParameter(java.lang.String key)
Returns the value of a plugin string-list parameter.java.lang.String
getPluginStringParameter(java.lang.String name)
Returns the value of a plugin string parameter.java.lang.String
getPluginStringParameter(java.lang.String name, java.lang.String default_value)
Returns the value of a plugin string parameter.java.io.File
getPluginUserFile(java.lang.String name)
Returns a file that can be used by the plugin to save user-specific state.private java.lang.String
getStringParameter(java.lang.String name, java.lang.String _default, boolean map_name, boolean set_default)
boolean
getUnsafeBooleanParameter(java.lang.String name)
Returns the value of a core boolean parameter.boolean
getUnsafeBooleanParameter(java.lang.String name, boolean default_value)
Returns the value of a core boolean parameter.byte[]
getUnsafeByteParameter(java.lang.String name)
Returns the value of a core byte array parameter.byte[]
getUnsafeByteParameter(java.lang.String name, byte[] default_value)
Returns the value of a core byte array parameter.int[]
getUnsafeColorParameter(java.lang.String name)
Returns the value of a core color parameter.int[]
getUnsafeColorParameter(java.lang.String name, int[] default_value)
Returns the value of a core color parameter.float
getUnsafeFloatParameter(java.lang.String name)
Returns the value of a core float parameter.float
getUnsafeFloatParameter(java.lang.String name, float default_value)
Returns the value of a core float parameter.int
getUnsafeIntParameter(java.lang.String name)
Returns the value of a core int parameter.int
getUnsafeIntParameter(java.lang.String name, int default_value)
Returns the value of a core int parameter.long
getUnsafeLongParameter(java.lang.String name)
Returns the value of a core long parameter.long
getUnsafeLongParameter(java.lang.String name, long default_value)
Returns the value of a core long parameter.java.util.Map
getUnsafeParameterList()
Returns a mapgiving parameter names -> parameter values. java.lang.String
getUnsafeStringParameter(java.lang.String name)
Returns the value of a core string parameter.java.lang.String
getUnsafeStringParameter(java.lang.String name, java.lang.String default_value)
Returns the value of a core string parameter.boolean
hasParameter(java.lang.String param_name)
Returns true if a core parameter with the given name exists.boolean
hasPluginParameter(java.lang.String param_name)
Returns true if a plugin parameter with the given name exists.boolean
isNewInstall()
private java.lang.String
mapKeyName(java.lang.String key, boolean for_set)
void
notifyParamExists(java.lang.String param)
void
notifyRGBParamExists(java.lang.String param)
void
removeListener(PluginConfigListener l)
boolean
removePluginColorParameter(java.lang.String key)
Removes the plugin color parameter with the given name.boolean
removePluginParameter(java.lang.String key)
Removes the plugin parameter with the given name.void
save()
make sure you save it after making changes!void
setCoreBooleanParameter(java.lang.String name, boolean value)
Sets the value of a core boolean parameter.void
setCoreByteParameter(java.lang.String name, byte[] value)
Sets the value of a core byte array parameter.void
setCoreColorParameter(java.lang.String name, int[] value)
Sets the value of a core byte array parameter.void
setCoreColorParameter(java.lang.String name, int[] value, boolean override)
Sets the value of a core byte array parameter.void
setCoreFloatParameter(java.lang.String name, float value)
Sets the value of a core float parameter.void
setCoreIntParameter(java.lang.String name, int value)
Sets the value of a core int parameter.void
setCoreLongParameter(java.lang.String name, long value)
Sets the value of a core long parameter.void
setCoreStringParameter(java.lang.String name, java.lang.String value)
Sets the value of a core string parameter.static void
setEnablePluginCoreConfigChange(boolean enabled)
private static boolean
setFakeValueWhenDisabled(java.lang.String key, java.lang.String name, java.lang.Object value)
void
setPluginColorParameter(java.lang.String name, int[] value)
Sets the value of a plugin color parameter.void
setPluginColorParameter(java.lang.String name, int[] value, boolean override)
Sets the value of a plugin color parameter.void
setPluginConfigKeyPrefix(java.lang.String _key)
void
setPluginConfigSource(PluginConfigSource source)
Sets the plugin configuration source object to use for storing parameters for this plugin config object.void
setPluginListParameter(java.lang.String key, java.util.List value)
Sets the value of a plugin list parameter.void
setPluginMapParameter(java.lang.String key, java.util.Map value)
Sets the value of a plugin map parameter.void
setPluginParameter(java.lang.String name, boolean value)
Sets the value of a plugin boolean parameter.void
setPluginParameter(java.lang.String name, byte[] value)
Sets the value of a plugin byte array parameter.void
setPluginParameter(java.lang.String name, float value)
Sets the value of a plugin float parameter.void
setPluginParameter(java.lang.String name, int value)
Sets the value of a plugin int parameter.void
setPluginParameter(java.lang.String key, int value, boolean global)
Sets the value of a plugin int parameter.void
setPluginParameter(java.lang.String name, long value)
Sets the value of a plugin long parameter.void
setPluginParameter(java.lang.String name, java.lang.String value)
Sets the value of a plugin string parameter.void
setPluginStringListParameter(java.lang.String key, java.lang.String[] value)
Sets the value of a plugin string-list parameter.void
setUnsafeBooleanParameter(java.lang.String name, boolean value)
Sets the value of a core boolean parameter.void
setUnsafeByteParameter(java.lang.String name, byte[] value)
Sets the value of a core byte array parameter.void
setUnsafeColorParameter(java.lang.String name, int[] value)
Returns the value of a core color parameter.void
setUnsafeColorParameter(java.lang.String name, int[] value, boolean override)
Returns the value of a core color parameter.void
setUnsafeFloatParameter(java.lang.String name, float value)
Sets the value of a core float parameter.void
setUnsafeIntParameter(java.lang.String name, int value)
Sets the value of a core int parameter.void
setUnsafeLongParameter(java.lang.String name, long value)
Sets the value of a core long parameter.void
setUnsafeStringParameter(java.lang.String name, java.lang.String value)
Sets the value of a core string parameter.
-
-
-
Field Detail
-
external_to_internal_key_map
protected static java.util.Map<java.lang.String,java.lang.String> external_to_internal_key_map
-
external_source
private PluginConfigSourceImpl external_source
-
listenersPluginConfig
private java.util.HashMap<PluginConfigListener,COConfigurationListener> listenersPluginConfig
-
fake_values_when_disabled
private static java.util.Map fake_values_when_disabled
-
fake_values_ref_count
private static int fake_values_ref_count
-
plugin_interface
private PluginInterface plugin_interface
-
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)
-
isNewInstall
public boolean isNewInstall()
- Specified by:
isNewInstall
in interfacePluginConfig
-
getPluginConfigKeyPrefix
public java.lang.String getPluginConfigKeyPrefix()
- Specified by:
getPluginConfigKeyPrefix
in interfacePluginConfig
- Returns:
- the prefix used when storing configuration values in the config file for this plugin's config parameters
-
setPluginConfigKeyPrefix
public void setPluginConfigKeyPrefix(java.lang.String _key)
- Specified by:
setPluginConfigKeyPrefix
in interfacePluginConfig
-
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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 interfacePluginConfig
- 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(java.lang.String key)
- Specified by:
getParameter
in interfacePluginConfig
-
getPluginParameter
public ConfigParameter getPluginParameter(java.lang.String key)
- Specified by:
getPluginParameter
in interfacePluginConfig
-
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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 mapgiving 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 interfacePluginConfig
-
save
public void save()
Description copied from interface:PluginConfig
make sure you save it after making changes!- Specified by:
save
in interfacePluginConfig
-
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 interfacePluginConfig
- Returns:
-
addListener
public void addListener(PluginConfigListener l)
- Specified by:
addListener
in interfacePluginConfig
-
removeListener
public void removeListener(PluginConfigListener l)
- Specified by:
removeListener
in interfacePluginConfig
-
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 interfacePluginConfig
-
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 interfacePluginConfig
-
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 invokePluginConfigSource.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 interfacePluginConfig
- 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 interfacePluginConfig
- 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 thegetLocalPluginInterface
method to store data in a separate namespace, but want to use the same configuration file to store data in.- Specified by:
setPluginConfigSource
in interfacePluginConfig
- Parameters:
source
- The PluginConfigSource object to use.
-
-