View Javadoc

1   package com.atlassian.jira.config.settings.providers;
2   
3   import java.util.Map;
4   
5   import org.apache.commons.collections.map.LinkedMap;
6   
7   import com.atlassian.jira.config.settings.Setting;
8   import com.atlassian.jira.config.settings.directory.SettingsProviderDirectory;
9   import com.atlassian.jira.config.settings.managers.SettingsManager;
10  
11  public abstract class ASettingsProvider implements SettingsProvider {
12  
13  	private Map settings;
14  
15  	private SettingsProviderDirectory settingsProviderDirectory;
16  	
17  	public ASettingsProvider(SettingsProviderDirectory _settingsProviderDirectory) {
18  		super();
19  		settingsProviderDirectory = _settingsProviderDirectory;
20  		settingsProviderDirectory.addSettingsProvider(this);
21  		init();
22  	}
23  
24  	public Map getSettings() {
25  		if (settings==null) {
26  			settings = new LinkedMap();
27  		}
28  		return settings;
29  	}
30  	
31  	protected void addSetting(Setting _setting) {
32  		getSettings().put(_setting.getParameterKey(), _setting);
33  	}
34  
35  	protected void addSetting(String _parameterKey, String _settingManagerKey) {
36  		Setting setting = new Setting(_parameterKey, _settingManagerKey);
37  		addSetting(setting);
38  	}
39  	
40  	/**
41  	 * Init the Settings Provided by the SettingsProvider
42  	 */
43  	protected abstract void init();
44  	
45  	public String getTitleI18nKey() {
46  		return getId() + ".title";
47  	}
48  	
49  	public String getDescriptionI18nKey() {
50  		return getId() + ".description";
51  	}
52  
53  	public SettingsManager getSettingsManager(String _key) {
54  		return (SettingsManager)settingsProviderDirectory.getSettingsManagers().get(_key);
55  	}
56  	
57  	public String getHelpURL() {
58  		return "";
59  	}
60  }