package org.limewire.setting; /** * * Defines the interface to control retrieving a remote setting. * Additionally, this interface lists a method to set the * {@link RemoteSettingController} which in turn updates a key-value setting. * <p> * A setting must be created via * {@link SettingsFactory SettingsFactory's createRemoteXSetting} in order to * be remotely controlled. * */ public interface RemoteSettingManager { /** * Retrieves a remote value for the given key. * This is intended to be used to retrieve values * for settings that are created after the RemoteManager * has initialized. Because of this, after the values * are retrieved in this method, it is okay for the * RemoteSettingManager to delete the value. When a new * setting arrives, the controller should be used to update * the value for the given remoteKey. * * If there is no value loaded, this should return null. */ public String getUnloadedValueFor(String remoteKey); /** * Sets a controller that should be used to update settings * when new remote values are read. */ public void setRemoteSettingController(RemoteSettingController controller); }