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
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 }