1   package com.atlassian.plugins.codegen.modules;
2   
3   import java.util.Map;
4   import java.util.Properties;
5   
6   import com.google.common.collect.ImmutableMap;
7   import com.google.common.collect.Maps;
8   
9   /**
10   * @since 3.6
11   */
12  public abstract class AbstractPluginModuleProperties extends Properties implements PluginModuleProperties
13  {
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      @Override
27      public void setProductId(String id)
28      {
29          setProperty(PRODUCT_ID, id);
30      }
31  
32      @Override
33      public String getProductId()
34      {
35          return getProperty(PRODUCT_ID);
36      }
37  
38      @Override
39      public void setIncludeExamples(boolean includeExamples)
40      {
41          this.includeExamples = includeExamples;
42      }
43  
44      @Override
45      public boolean includeExamples()
46      {
47          return includeExamples;
48      }
49  
50      @Override
51      public void addI18nProperty(String name, String value)
52      {
53          i18nProperties.put(name, value);
54      }
55  
56      @Override
57      public ImmutableMap<String, String> getI18nProperties()
58      {
59          return ImmutableMap.copyOf(i18nProperties);
60      }
61  
62  }