1   package com.atlassian.plugins.codegen.modules.jira;
2   
3   import com.atlassian.plugins.codegen.modules.BasicClassModuleProperties;
4   
5   import org.apache.commons.lang.StringUtils;
6   
7   /**
8    * @since 3.6
9    */
10  public class WorkflowElementProperties extends BasicClassModuleProperties
11  {
12      public static final String FQ_FACTORY_NAME = "FQ_FACTORY_NAME";
13      public static final String FACTORY_NAME = "FACTORY_NAME";
14  
15      public WorkflowElementProperties()
16      {
17          this("MyWorkflowElement");
18      }
19  
20      public WorkflowElementProperties(String fqClassName)
21      {
22          super(fqClassName);
23      }
24  
25      @Override
26      public void setFullyQualifiedClassname(String fqName)
27      {
28          super.setFullyQualifiedClassname(fqName);
29          setFullyQualifiedFactoryName(fqName + "Factory");
30      }
31  
32      public void setFullyQualifiedFactoryName(String fqName)
33      {
34          setProperty(FQ_FACTORY_NAME, fqName);
35          String classname;
36  
37          if (fqName.lastIndexOf(".") > 0)
38          {
39              classname = StringUtils.substringAfterLast(fqName, ".");
40          } else
41          {
42              classname = fqName;
43          }
44  
45          setProperty(FACTORY_NAME, classname);
46      }
47  
48      public String getFullyQualifiedFactoryName()
49      {
50          return getProperty(FQ_FACTORY_NAME);
51      }
52  
53      public String getFactoryName()
54      {
55          return getProperty(FACTORY_NAME);
56      }
57  }