1   package com.atlassian.plugins.codegen.modules;
2   
3   import org.apache.commons.lang.StringUtils;
4   
5   /**
6    * @since 3.6
7    */
8   public class ClassWithInterfaceProperties extends BasicClassModuleProperties
9   {
10      public static final String INTERFACE_CLASS = "INTERFACE_CLASS";
11      public static final String FQ_INTERFACE = "FQ_INTERFACE";
12      public static final String INTERFACE_PACKAGE = "INTERFACE_PACKAGE";
13  
14      public ClassWithInterfaceProperties()
15      {
16          this("MyClass");
17      }
18  
19      public ClassWithInterfaceProperties(String fqClassName)
20      {
21          super(fqClassName);
22      }
23  
24      public void setFullyQualifiedInterface(String fqName)
25      {
26          String classname;
27          if (StringUtils.isNotBlank(fqName))
28          {
29  
30              if (fqName.lastIndexOf(".") > 0)
31              {
32                  classname = StringUtils.substringAfterLast(fqName, ".");
33                  String packageName = StringUtils.substringBeforeLast(fqName, ".");
34                  setProperty(INTERFACE_CLASS, classname);
35                  setProperty(INTERFACE_PACKAGE, packageName);
36              } else
37              {
38                  classname = fqName;
39                  setProperty(INTERFACE_CLASS, classname);
40                  setProperty(INTERFACE_PACKAGE, "");
41              }
42  
43              setProperty(FQ_INTERFACE, fqName);
44          }
45      }
46  
47      public String getFullyQualifiedInterface()
48      {
49          return getProperty(FQ_INTERFACE);
50      }
51  
52      public String getInterfaceClass()
53      {
54          return getProperty(INTERFACE_CLASS);
55      }
56  
57      public String getInterfacePackage()
58      {
59          return getProperty(INTERFACE_PACKAGE);
60      }
61  }