public String getClassContents()

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();
    }