1   package com.atlassian.plugins.codegen.modules;
2   
3   import com.atlassian.plugins.codegen.ClassId;
4   
5   import static com.atlassian.plugins.codegen.ClassId.fullyQualified;
6   
7   /**
8    * @since 3.6
9    */
10  public class ClassWithInterfaceProperties extends BasicClassModuleProperties
11  {
12      public static final String INTERFACE_CLASS = "INTERFACE_CLASS";
13      public static final String FQ_INTERFACE = "FQ_INTERFACE";
14      public static final String INTERFACE_PACKAGE = "INTERFACE_PACKAGE";
15  
16      private ClassId interfaceDescriptor;
17      
18      public ClassWithInterfaceProperties()
19      {
20          this("MyClass");
21      }
22  
23      public ClassWithInterfaceProperties(String fqClassName)
24      {
25          super(fqClassName);
26      }
27  
28      public void setFullyQualifiedInterface(String fqName)
29      {
30          interfaceDescriptor = fullyQualified(fqName);
31          setProperty(FQ_INTERFACE, fqName);
32          setProperty(INTERFACE_PACKAGE, interfaceDescriptor.getPackage());
33          setProperty(INTERFACE_CLASS, interfaceDescriptor.getName());
34      }
35  
36      public ClassId getInterfaceId()
37      {
38          return interfaceDescriptor;
39      }
40  }