1 package com.atlassian.plugins.codegen.modules;
2
3 import java.util.HashMap;
4 import java.util.Map;
5 import java.util.Properties;
6
7 import com.google.common.collect.ImmutableMap;
8 import com.google.common.collect.Maps;
9
10
11
12
13 public abstract class AbstractPluginModuleProperties extends Properties implements PluginModuleProperties
14 {
15 protected boolean includeExamples;
16 protected Map<String, String> i18nProperties;
17
18 protected AbstractPluginModuleProperties()
19 {
20 super();
21 i18nProperties = Maps.newHashMap();
22 includeExamples = false;
23 setProductId("RefApp");
24 }
25
26 protected AbstractPluginModuleProperties(AbstractPluginModuleProperties from)
27 {
28 super();
29 putAll(from);
30 i18nProperties = new HashMap(from.i18nProperties);
31 includeExamples = from.includeExamples;
32 }
33
34 @Override
35 public void setProductId(String id)
36 {
37 setProperty(PRODUCT_ID, id);
38 }
39
40 @Override
41 public String getProductId()
42 {
43 return getProperty(PRODUCT_ID);
44 }
45
46 @Override
47 public void setIncludeExamples(boolean includeExamples)
48 {
49 this.includeExamples = includeExamples;
50 }
51
52 @Override
53 public boolean includeExamples()
54 {
55 return includeExamples;
56 }
57
58 @Override
59 public void addI18nProperty(String name, String value)
60 {
61 i18nProperties.put(name, value);
62 }
63
64 @Override
65 public ImmutableMap<String, String> getI18nProperties()
66 {
67 return ImmutableMap.copyOf(i18nProperties);
68 }
69
70 }