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 abstract class AbstractClassBasedModuleProperties extends AbstractNameBasedModuleProperties implements ClassBasedModuleProperties
11  {
12      private ClassId classId;
13      private ClassId classUnderTestId;
14      
15      protected AbstractClassBasedModuleProperties()
16      {
17          super();
18      }
19  
20      public void setFullyQualifiedClassname(String fqName)
21      {
22          classId = fullyQualified(fqName);
23          setProperty(FQ_CLASSNAME, fqName);
24          setProperty(PACKAGE, classId.getPackage());
25          setProperty(CLASSNAME, classId.getName());
26          setClassUnderTest(fqName);
27      }
28  
29      public void setClassUnderTest(String fqName)
30      {
31          classUnderTestId = fullyQualified(fqName);
32          setProperty(FQ_CLASS_UNDER_TEST, fqName);
33          setProperty(PACKAGE_UNDER_TEST, classUnderTestId.getPackage());
34          setProperty(CLASS_UNDER_TEST, classUnderTestId.getName());
35      }
36  
37      public ClassId getClassId()
38      {
39          return classId;
40      }
41      
42      public ClassId getClassUnderTest()
43      {
44          return classUnderTestId;
45      }
46  }