in log4j-audit/log4j-audit-api/src/main/java/org/apache/logging/log4j/audit/generator/ClassGenerator.java [225:329]
public String getClassContents() throws Exception {
if (getClassName() == null) {
throw new Exception("Class name has to be set");
}
if (!runPrewrite) {
preWrite();
runPrewrite = true;
}
StringBuilder sb = new StringBuilder();
sb.append("package ").append(getPackageName()).append(";\n\n");
if (!getImports().isEmpty()) {
List<String> list = new ArrayList<>(getImports());
Collections.sort(list);
for (String element : list) {
sb.append("import ").append(element).append(";\n");
}
sb.append("\n");
}
sb.append("/**\n");
if (getJavadocComment() != null) {
sb.append(" * ").append(getJavadocComment());
}
sb.append("\n * @author generated");
sb.append("\n */\n");
if (annotations != null) {
sb.append(annotations);
sb.append("\n");
}
sb.append(getVisability());
if (isClass()) {
sb.append(" class ");
} else {
sb.append(" interface ");
}
sb.append(getClassName());
if (typeStatement != null) {
sb.append(" <").append(typeStatement).append("> ");
}
if (getParentClassName() != null && getParentClassName().length() > 0) {
sb.append(" extends ").append(getParentClassName());
}
if (!getImplements().isEmpty()) {
sb.append(" implements ");
boolean first = true;
for (String element : getImplements()) {
if (!first) {
sb.append(", ");
}
sb.append(element);
first = false;
}
}
sb.append(" {\n\n");
if (!localVariables.isEmpty()) {
Collections.sort(localVariables);
for (VariableDefinition element : localVariables) {
sb.append(element).append("\n");
}
}
if (!constructors.isEmpty()) {
Collections.sort(constructors);
for (ConstructorDefinition element : constructors) {
sb.append(element).append("\n\n");
}
}
if (beanMethods.size() > 0 && isClass()) {
MethodDefinition definition = new MethodDefinition("String",
"toString");
StringBuilder buffer = new StringBuilder();
buffer.append("\tStringBuilder sb = new StringBuilder();");
buffer.append("\n\tsb.append(super.toString());");
for (AccessorDefinition element : beanMethods) {
buffer.append("\n\tsb.append(\", ");
buffer.append(element.getName())
.append("=\").append(")
.append(NamingUtils.getAccessorName(element.getName(),
element.getType())).append("());");
}
buffer.append("\n\treturn sb.toString();");
definition.setContent(buffer.toString());
methods.add(definition);
}
if (methods != null) {
Collections.sort(methods);
for (MethodDefinition element : methods) {
sb.append(element).append("\n\n");
}
}
if (code != null) {
sb.append(code).append("\n");
}
sb.append("}");
return sb.toString();
}