1   package com.atlassian.plugins.codegen.modules.common.component;
2   
3   import java.util.HashMap;
4   import java.util.Map;
5   
6   import com.atlassian.plugins.codegen.modules.ClassWithInterfaceProperties;
7   
8   /**
9    * @since 3.6
10   */
11  public class ComponentProperties extends ClassWithInterfaceProperties
12  {
13  
14      public static final String ALIAS = "ALIAS";
15      public static final String PUBLIC = "PUBLIC";
16      public static final String SERVICE_PROPS = "SERVICE_PROPS";
17  
18      private boolean generateInterface;
19      private boolean generateClass;
20  
21      public ComponentProperties()
22      {
23          this("MyComponentProperties");
24      }
25  
26      public ComponentProperties(String fqClassName)
27      {
28          super(fqClassName);
29          put(SERVICE_PROPS, new HashMap<String, String>());
30  
31          setAlias("");
32          setPublic(false);
33      }
34  
35      public void setAlias(String alias)
36      {
37          setProperty(ALIAS, alias);
38      }
39  
40      public void setPublic(boolean isPublic)
41      {
42          setProperty(PUBLIC, Boolean.toString(isPublic));
43      }
44  
45      public void setServiceProps(Map<String, String> params)
46      {
47          put(SERVICE_PROPS, params);
48      }
49  
50      @SuppressWarnings(value = "unchecked")
51      public void addServiceProp(String name, String value)
52      {
53          Map<String, String> params = (Map<String, String>) get(SERVICE_PROPS);
54          if (params == null)
55          {
56              params = new HashMap<String, String>();
57              setServiceProps(params);
58          }
59  
60          params.put(name, value);
61      }
62  
63      public boolean generateInterface()
64      {
65          return generateInterface;
66      }
67  
68      public void setGenerateInterface(boolean generateInterface)
69      {
70          this.generateInterface = generateInterface;
71      }
72  
73      public boolean generateClass()
74      {
75          return generateClass;
76      }
77  
78      public void setGenerateClass(boolean generateClass)
79      {
80          this.generateClass = generateClass;
81      }
82  }