1   package com.atlassian.plugins.codegen.modules.jira;
2   
3   import com.atlassian.plugins.codegen.modules.BasicClassModuleProperties;
4   import com.atlassian.plugins.codegen.modules.common.Label;
5   import com.atlassian.plugins.codegen.util.ClassnameUtil;
6   
7   import org.apache.commons.lang.StringUtils;
8   
9   /**
10   * @since 3.6
11   */
12  public class TabPanelProperties extends BasicClassModuleProperties
13  {
14  
15      public static final String ORDER = "ORDER";
16      public static final String LABEL = "LABEL";
17  
18      private boolean useCustomClass;
19  
20      public TabPanelProperties()
21      {
22          this("MyTabPanel");
23      }
24  
25      public TabPanelProperties(String fqClassName)
26      {
27          super(fqClassName);
28          setOrder(10);
29          useCustomClass = false;
30      }
31  
32      public void setModuleNameAndKey(String moduleName)
33      {
34          if (StringUtils.isNotBlank(moduleName))
35          {
36              setModuleName(moduleName);
37              setModuleKey(ClassnameUtil.camelCaseOrSpaceToDashed(moduleName)
38                      .toLowerCase());
39              setDescription("The " + getProperty(MODULE_NAME) + " Plugin");
40              setNameI18nKey(getProperty(MODULE_KEY) + ".name");
41              setDescriptionI18nKey(getProperty(MODULE_KEY) + ".description");
42          }
43      }
44  
45      public void setLabel(Label label)
46      {
47          put(LABEL, label);
48          addI18nProperty(label.getKey(), label.getValue());
49      }
50  
51      public Label getLabel()
52      {
53          Label label = null;
54          if (keySet().contains(LABEL))
55          {
56              label = (Label) get(LABEL);
57          }
58          return label;
59      }
60  
61      public void setOrder(int order)
62      {
63          setProperty(ORDER, Integer.toString(order));
64      }
65  
66      public String getOrder()
67      {
68          return getProperty(ORDER);
69      }
70  
71      public int getOrderAsInt()
72      {
73          return Integer.parseInt(getProperty(ORDER));
74      }
75  
76      public boolean isUseCustomClass()
77      {
78          return useCustomClass;
79      }
80  
81      public void setUseCustomClass(boolean useCustomClass)
82      {
83          this.useCustomClass = useCustomClass;
84      }
85  }