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 public void addServiceProp(String name, String value)
51 {
52 Map<String, String> params = getServiceProps();
53 if (params == null)
54 {
55 params = new HashMap<String, String>();
56 setServiceProps(params);
57 }
58
59 params.put(name, value);
60 }
61
62 @SuppressWarnings(value = "unchecked")
63 public Map<String, String> getServiceProps()
64 {
65 return (Map<String, String>)get(SERVICE_PROPS);
66 }
67
68 public boolean generateInterface()
69 {
70 return generateInterface;
71 }
72
73 public void setGenerateInterface(boolean generateInterface)
74 {
75 this.generateInterface = generateInterface;
76 }
77
78 public boolean generateClass()
79 {
80 return generateClass;
81 }
82
83 public void setGenerateClass(boolean generateClass)
84 {
85 this.generateClass = generateClass;
86 }
87
88 public boolean isPublic()
89 {
90 return Boolean.valueOf(getProperty(PUBLIC));
91 }
92 }