Class ConfigurationManager
java.lang.Object
com.biglybt.core.config.impl.ConfigurationManager
- All Implemented Interfaces:
AEDiagnosticsEvidenceGenerator
A singleton used to store configuration into a bencoded file.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final AEMonitorprivate static ConfigurationManagerstatic final Stringprivate static ConfigurationManagerprivate static final booleanprivate static final FrequencyLimitedDispatcherprivate final ParameterListenerprivate booleanprivate final List<COConfigurationListener> private final Map<String, ParameterListener[]> private ConcurrentHashMapWrapper<String, Object> private final List<COConfigurationManager.ResetToDefaultsListener> private final Listprivate final Map<String, List<WeakReference<ParameterListener>>> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddAndFireListener(COConfigurationListener listener) voidaddListener(COConfigurationListener listener) voidaddParameterListener(String parameter, ParameterListener new_listener) voidvoidaddWeakParameterListener(String parameter, ParameterListener new_listener) protected static StringbytesToString(byte[] bytes) booleandoesParameterNonDefaultExist(String parameter) Does the given parameter exist.voiddumpConfigChanges(IndentWriter writer) (package private) voidvoidgenerate(IndentWriter writer) booleangetBooleanParameter(String parameter) booleangetBooleanParameter(String parameter, boolean defaultValue) byte[]getByteParameter(String parameter) byte[]getByteParameter(String parameter, byte[] defaultValue) private byte[]getByteParameterRaw(String parameter) getDirectoryParameter(String parameter) floatgetFloatParameter(String parameter) floatgetFloatParameter(String parameter, float def_val) static ConfigurationManagerstatic ConfigurationManagergetInstance(Map data) intgetIntParameter(String parameter) intgetIntParameter(String parameter, int defaultValue) getListParameter(String parameter, List def) longgetLongParameter(String parameter) longgetLongParameter(String parameter, long defaultValue) private LonggetLongParameterRaw(String parameter) getMapParameter(String parameter, Map def) getParameter(String name) int[]getRGBParameter(String parameter) getStringListParameter(String parameter) getStringParameter(String parameter) private StringgetStringParameter(String parameter, byte[] defaultValue) getStringParameter(String parameter, String defaultValue) booleanhasParameter(String key, boolean explicit) Returns true if a parameter with the given name exists.private booleanignoreKeyForDump(String key) protected voidbooleanvoidload()voidprivate voidprivate voidnotifyParameterListeners(String parameter) private booleannotifyParameterListenersIfChanged(String parameter, byte[] newValue, byte[] oldValue) private booleannotifyParameterListenersIfChanged(String parameter, Long newValue, Long oldValue) voidregisterExportedParameter(String name, String key) voidregisterTransientParameter(String param) Use this method to record a parameter as one which can be stored here, but shouldn't be saved in the .config file.voidremoveListener(COConfigurationListener listener) booleanremoveParameter(String parameter) Remove the given configuration parameter completely.voidremoveParameterListener(String parameter, ParameterListener listener) booleanremoveRGBParameter(String parameter) voidremoveWeakParameterListener(String parameter, ParameterListener listener) Explicitly removing a weak ParameterListener prevents it from being fired after being de-referenced, but before GC'dvoidvoidsave()voidvoidsetDirty()booleansetParameter(String parameter, boolean value) booleansetParameter(String parameter, byte[] defaultValue) booleansetParameter(String parameter, float defaultValue) booleansetParameter(String parameter, int defaultValue) booleansetParameter(String parameter, long defaultValue) booleansetParameter(String parameter, String defaultValue) booleansetParameter(String parameter, List value) booleansetParameter(String parameter, Map value) voidsetParameterRawNoNotify(String parameter, Object value) Set the raw parameter value to store in the properties map.booleansetRGBParameter(String parameter, int[] rgb, Boolean override) booleansetRGBParameter(String parameter, int red, int green, int blue, Boolean override) protected static byte[]stringToBytes(String str) (package private) voidbooleanverifyParameter(String parameter, String value)
-
Field Details
-
DEBUG_PARAMETER_LISTENERS
private static final boolean DEBUG_PARAMETER_LISTENERS- See Also:
-
CONFIG_FILENAME
- See Also:
-
config_temp
-
config
-
class_mon
-
propertiesMap
-
transient_properties
-
listenerz
-
parameterListenerz
-
weakParameterListenerz
-
reset_to_def_listeners
-
dirty_dispatcher
-
exportable_parameter_listener
-
exported_parameters
-
imported_parameters
-
exported_parameters_dirty
private volatile boolean exported_parameters_dirty
-
-
Constructor Details
-
ConfigurationManager
private ConfigurationManager() -
ConfigurationManager
-
-
Method Details
-
getInstance
-
getInstance
-
initialise
protected void initialise() -
load
-
load
public void load() -
save
-
save
public void save() -
setDirty
public void setDirty() -
isNewInstall
public boolean isNewInstall() -
getDefinedParameters
-
getBooleanParameter
-
getBooleanParameter
-
setParameter
-
getLongParameterRaw
-
getIntParameter
-
getIntParameter
-
getLongParameter
-
getLongParameter
-
getByteParameterRaw
-
getByteParameter
-
getByteParameter
-
getStringParameter
-
getStringParameter
-
getStringParameter
-
getStringListParameter
-
getListParameter
-
setParameter
-
getMapParameter
-
setParameter
-
getDirectoryParameter
- Throws:
IOException
-
getFloatParameter
-
getFloatParameter
-
setParameter
-
setParameter
-
setParameter
-
setParameter
-
setParameter
-
hasParameter
Returns true if a parameter with the given name exists.- Parameters:
key- The name of the parameter to check.explicit- If true, we only check for a value which is definitely stored explicitly, false means that we'll also check against configuration defaults too.
-
verifyParameter
-
setRGBParameter
-
setRGBParameter
-
getRGBParameter
-
getParameter
-
setParameterRawNoNotify
Set the raw parameter value to store in the properties map. This should only be used by trusted callers, and has been added to support external plugin config files.- Parameters:
parameter- Parameter name.value- A bencode-ably safe value.
-
registerTransientParameter
Use this method to record a parameter as one which can be stored here, but shouldn't be saved in the .config file. Instead, some external object should be responsible for the parameter's persistency (if it should have any at all). -
removeParameter
Remove the given configuration parameter completely.- Parameters:
parameter- to remove- Returns:
- true if found and removed, false if not
-
removeRGBParameter
-
doesParameterNonDefaultExist
Does the given parameter exist.- Parameters:
parameter- to check- Returns:
- true if exists, false if not present
-
notifyParameterListenersIfChanged
-
notifyParameterListenersIfChanged
private boolean notifyParameterListenersIfChanged(String parameter, byte[] newValue, byte[] oldValue) -
addResetToDefaultsListener
-
registerExportedParameter
-
updateExportableParameter
-
exportParameters
void exportParameters() -
loadExportedParameters
private void loadExportedParameters() -
resetToDefaults
public void resetToDefaults() -
notifyParameterListeners
-
addWeakParameterListener
-
removeWeakParameterListener
Explicitly removing a weak ParameterListener prevents it from being fired after being de-referenced, but before GC'd -
addParameterListener
-
removeParameterListener
-
addListener
-
addAndFireListener
-
removeListener
-
ignoreKeyForDump
-
generate
- Specified by:
generatein interfaceAEDiagnosticsEvidenceGenerator
-
dumpConfigChanges
-
bytesToString
-
stringToBytes
-