package org.herac.tuxguitar.jack.settings; import java.util.ArrayList; import java.util.List; import org.herac.tuxguitar.gui.system.config.TGConfigManager; import org.herac.tuxguitar.gui.system.plugins.TGPluginConfigManager; public class JackSettings { private TGConfigManager config; private List<JackSettingsListener> listeners; public JackSettings() { this.listeners = new ArrayList<JackSettingsListener>(); this.config = new TGPluginConfigManager("tuxguitar-jack"); this.config.init(); } public void addListener(JackSettingsListener listener) { if (!this.listeners.contains(listener)) { this.listeners.add(listener); } } public void fireListeners() { for (final JackSettingsListener listener : this.listeners) { listener.loadSettings(getConfig()); } } public TGConfigManager getConfig() { return this.config; } public void notifyChanges() { this.getConfig().save(); this.getConfig().load(); this.fireListeners(); } public void removeListener(JackSettingsListener listener) { if (this.listeners.contains(listener)) { this.listeners.remove(listener); } } }