@Override public String getType() { if (type == null) { type = classType.build(enumConfig.getName()); } return type; }
@Override public String getPackageName() { if (packageName != null) { return packageName; } packageName = ""; // root if (enumConfig.hasRootPackage()) { packageName = enumConfig.getRootPackage(); } else if (classType.getRootPackage() != null) { packageName = classType.getRootPackage(); } // sub (follows enumConfig doc) if (classType.hasSubPackage() && enumConfig.hasSubPackage()) { packageName += "." + classType.getSubPackage() + "." + enumConfig.getSubPackage(); } else if (enumConfig.hasSubPackage()) { packageName += "." + enumConfig.getSubPackage(); } else if (classType.hasSubPackage()) { packageName += "." + classType.getSubPackage(); } return packageName; }