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