Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;
import org.w3c.dom.Document;

import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import java.io.ByteArrayOutputStream;

import java.nio.charset.StandardCharsets;

public class Main {
    private static final ThreadLocal<Transformer> TRANSFORMER = new ThreadLocal<Transformer>() {
        @Override
        protected Transformer initialValue() {
            try {
                return TransformerFactory.newInstance().newTransformer();
            } catch (TransformerConfigurationException e) {
                throw new RuntimeException("Error while creating transformer", e);
            }
        }
    };

    public static String format(Document document) throws TransformerException {
        final ByteArrayOutputStream out = new ByteArrayOutputStream();
        final Transformer transformer = TRANSFORMER.get();
        transformer.transform(new DOMSource(document), new StreamResult(out));
        transformer.reset();
        return new String(out.toByteArray(), StandardCharsets.UTF_8);
    }
}