org.gudy.azureus2.pluginsimpl.local.config
Class PluginConfigSourceImpl

java.lang.Object
  extended by org.gudy.azureus2.pluginsimpl.local.config.PluginConfigSourceImpl
All Implemented Interfaces:
COConfigurationListener, ParameterListener, PluginConfigSource

public class PluginConfigSourceImpl
extends java.lang.Object
implements COConfigurationListener, ParameterListener, PluginConfigSource

Author:
Allan Crooks

Constructor Summary
PluginConfigSourceImpl(PluginConfig plugin_config, java.lang.String plugin_id)
           
 
Method Summary
 void configurationSaved()
           
 void forceSettingsMigration()
          If your plugin previously used to store data in the main configuration file, you can call this method (which needs to be done soon after initialization) which will move all monitored parameters over to this object.
 java.io.File getConfigFile()
          Returns a file object which represents the location of the configuration file that this object interacts with.
 java.lang.String getUsedKeyPrefix()
           
 void initialize()
          This initializes this configuration object and gets the external configuration file integrated with Azureus.
 void parameterChanged(java.lang.String full_param)
          Called, when a parameter has changed.
 void registerParameter(java.lang.String full_param)
           
 void save(boolean force)
          Manually saves the configuration settings recorded by this object to disk.
 void setConfigFilename(java.lang.String filename)
          This method sets the filename for the configuration file that this object links to - this must be done before the PluginConfigSource.initialize() method is called.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PluginConfigSourceImpl

public PluginConfigSourceImpl(PluginConfig plugin_config,
                              java.lang.String plugin_id)
Method Detail

initialize

public void initialize()
Description copied from interface: PluginConfigSource
This initializes this configuration object and gets the external configuration file integrated with Azureus.

It performs the following steps:

Specified by:
initialize in interface PluginConfigSource

getConfigFile

public java.io.File getConfigFile()
Description copied from interface: PluginConfigSource
Returns a file object which represents the location of the configuration file that this object interacts with.

Specified by:
getConfigFile in interface PluginConfigSource

setConfigFilename

public void setConfigFilename(java.lang.String filename)
Description copied from interface: PluginConfigSource
This method sets the filename for the configuration file that this object links to - this must be done before the PluginConfigSource.initialize() method is called.

Specified by:
setConfigFilename in interface PluginConfigSource
Parameters:
filename - The filename to use.

save

public void save(boolean force)
Description copied from interface: PluginConfigSource
Manually saves the configuration settings recorded by this object to disk. This isn't normally required, as Azureus will automatically save the configuration file when the main configuration file is saved, but you can choose to save on demand if you wish.

Specified by:
save in interface PluginConfigSource
Parameters:
force - true if you want the file to be written to regardless of whether there are any changes, false if you only want to save the file if there are unsaved changes.

configurationSaved

public void configurationSaved()
Specified by:
configurationSaved in interface COConfigurationListener

parameterChanged

public void parameterChanged(java.lang.String full_param)
Description copied from interface: ParameterListener
Called, when a parameter has changed. The listener could only react if the parameter name is relevant. Or the listener can just read all parameters again.

Specified by:
parameterChanged in interface ParameterListener
Parameters:
full_param - the name of the parameter that has changed

registerParameter

public void registerParameter(java.lang.String full_param)

getUsedKeyPrefix

public java.lang.String getUsedKeyPrefix()

forceSettingsMigration

public void forceSettingsMigration()
Description copied from interface: PluginConfigSource
If your plugin previously used to store data in the main configuration file, you can call this method (which needs to be done soon after initialization) which will move all monitored parameters over to this object.

You have to call this method before you initialize the object. It's also recommended that if you call this method, that you call PluginConfigSource.save(boolean) to save any settings copied across - probably best to be done as the last thing of the Plugin.initialize(PluginInterface) method.

Specified by:
forceSettingsMigration in interface PluginConfigSource