public String toXML()

in fractions/jolokia/src/main/java/org/wildfly/swarm/jolokia/access/JolokiaAccess.java [55:117]


    public String toXML() {
        StringBuilder builder = new StringBuilder();

        builder.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n");
        builder.append("<restrict>\n");

        if (!this.hosts.isEmpty()) {
            builder.append("  <remote>\n");
            this.hosts.forEach(e -> {
                builder.append("    <host>").append(e).append("</host>\n");
            });
            builder.append("  </remote>\n");
        }

        if (!this.methods.isEmpty()) {
            builder.append("  <http>\n");
            this.methods.forEach(e -> {
                builder.append("    <method>").append(e).append("</method>\n");
            });
            builder.append("  </http>\n");
        }

        if (!this.origins.isEmpty()) {
            builder.append("  <cors>\n");
            this.origins.forEach(e -> {
                builder.append("    <allow-origin>").append(e).append("</allow-origin>\n");
            });
            if (this.strictChecking) {
                builder.append("    <strict-checking/>\n");
            }
            builder.append("  </cors>\n");
        }

        if (!this.commands.isEmpty()) {
            builder.append("  <commands>\n");
            this.commands.forEach(e -> {
                builder.append("    <command>").append(e).append("</command>\n");
            });
            builder.append("  </commands>\n");
        }

        if (!this.sections.isEmpty()) {
            this.sections.forEach(e -> {
                builder.append("  <" + e.type() + ">\n");
                e.mbeans().forEach(mbean -> {
                    builder.append("    <mbean>\n");
                    builder.append("      <name>").append(mbean.name()).append("</name>\n");
                    mbean.attributes().forEach(attr -> {
                        builder.append("      <attribute>").append(mbean.name()).append("</attribute>\n");
                    });
                    mbean.operations().forEach(attr -> {
                        builder.append("      <operation>").append(mbean.name()).append("</operation>\n");
                    });
                    builder.append("    </mbean>\n");
                });
                builder.append("  </" + e.type() + ">\n");
            });
        }

        builder.append("</restrict>\n");

        return builder.toString();
    }