1   package com.atlassian.plugins.codegen.modules;
2   
3   import com.atlassian.plugins.codegen.ClassId;
4   import com.atlassian.plugins.codegen.util.ClassnameUtil;
5   
6   /**
7    *
8    */
9   public class BasicClassModuleProperties extends AbstractClassBasedModuleProperties
10  {   
11      public BasicClassModuleProperties()
12      {
13          this("MyPluginModule");
14      }
15  
16      protected BasicClassModuleProperties(BasicClassModuleProperties from, ClassId newClass)
17      {
18          super(from, newClass);
19      }
20  
21      public BasicClassModuleProperties(String fqClassName)
22      {
23          super();
24  
25          setFullyQualifiedClassname(fqClassName);
26  
27          String classname = getProperty(CLASSNAME);
28          setModuleName(ClassnameUtil.camelCaseToSpaced(classname));
29          setModuleKey(ClassnameUtil.camelCaseToDashed(classname)
30                  .toLowerCase());
31          setDescription("The " + getProperty(MODULE_NAME) + " Plugin");
32          setNameI18nKey(getProperty(MODULE_KEY) + ".name");
33          setDescriptionI18nKey(getProperty(MODULE_KEY) + ".description");
34      }
35  
36      public ClassBasedModuleProperties withClass(ClassId newClass)
37      {
38          return new BasicClassModuleProperties(this, newClass);
39      }
40  }