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
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 protected AbstractClassBasedModuleProperties(AbstractClassBasedModuleProperties from)
21 {
22 super(from);
23 this.classId = from.classId;
24 this.classUnderTestId = classUnderTestId;
25 }
26
27 protected AbstractClassBasedModuleProperties(AbstractClassBasedModuleProperties from, ClassId newClass)
28 {
29 this(from);
30 this.classId = newClass;
31 setProperty(FQ_CLASSNAME, newClass.getFullName());
32 setProperty(PACKAGE, newClass.getPackage());
33 setProperty(CLASSNAME, newClass.getName());
34 }
35
36 public void setFullyQualifiedClassname(String fqName)
37 {
38 classId = fullyQualified(fqName);
39 setProperty(FQ_CLASSNAME, fqName);
40 setProperty(PACKAGE, classId.getPackage());
41 setProperty(CLASSNAME, classId.getName());
42 setClassUnderTest(fqName);
43 }
44
45 public void setClassUnderTest(String fqName)
46 {
47 classUnderTestId = fullyQualified(fqName);
48 setProperty(FQ_CLASS_UNDER_TEST, fqName);
49 setProperty(PACKAGE_UNDER_TEST, classUnderTestId.getPackage());
50 setProperty(CLASS_UNDER_TEST, classUnderTestId.getName());
51 }
52
53 public ClassId getClassId()
54 {
55 return classId;
56 }
57
58 public ClassId getClassUnderTest()
59 {
60 return classUnderTestId;
61 }
62 }