X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fde%2Ftodesbaum%2Futil%2Fxml%2FXML.java;fp=src%2Fde%2Ftodesbaum%2Futil%2Fxml%2FXML.java;h=0000000000000000000000000000000000000000;hb=38bdc433e50669e8244a63b5af59e597f88f1d29;hp=8b6b259fe885e9130981ec20b5e3c39a1542b0f3;hpb=f14b9fbe6d88e23920b10a75ebeba4d38390301b;p=jSite.git diff --git a/src/de/todesbaum/util/xml/XML.java b/src/de/todesbaum/util/xml/XML.java deleted file mode 100644 index 8b6b259..0000000 --- a/src/de/todesbaum/util/xml/XML.java +++ /dev/null @@ -1,179 +0,0 @@ -/* - * jSite - XML.java - Copyright © 2006–2012 David Roden - * - * This program is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License as published by the Free Software - * Foundation; either version 2 of the License, or (at your option) any later - * version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more - * details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., 59 Temple - * Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -package de.todesbaum.util.xml; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.OutputStreamWriter; -import java.nio.charset.Charset; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; -import javax.xml.transform.Result; -import javax.xml.transform.Source; -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.DOMResult; -import javax.xml.transform.dom.DOMSource; -import javax.xml.transform.stream.StreamResult; -import javax.xml.transform.stream.StreamSource; - -import org.w3c.dom.Document; - - -/** - * Contains method to transform DOM XML trees to byte arrays and vice versa. - * - * @author David Roden <droden@gmail.com> - * @version $Id:XML.java 221 2006-03-06 14:46:49Z bombe $ - */ -public class XML { - - /** Cached document builder factory. */ - private static DocumentBuilderFactory documentBuilderFactory = null; - - /** Cached document builder. */ - private static DocumentBuilder documentBuilder = null; - - /** Cached transformer factory. */ - private static TransformerFactory transformerFactory = null; - - /** Does nothing. */ - private XML() { - } - - /** - * Returns a document builder factory. If possible the cached instance will be returned. - * - * @return A document builder factory - */ - private static DocumentBuilderFactory getDocumentBuilderFactory() { - if (documentBuilderFactory != null) { - return documentBuilderFactory; - } - documentBuilderFactory = DocumentBuilderFactory.newInstance(); - return documentBuilderFactory; - } - - /** - * Returns a document builder. If possible the cached instance will be returned. - * - * @return A document builder - */ - private static DocumentBuilder getDocumentBuilder() { - if (documentBuilder != null) { - return documentBuilder; - } - try { - documentBuilder = getDocumentBuilderFactory().newDocumentBuilder(); - } catch (ParserConfigurationException e) { - } - return documentBuilder; - } - - /** - * Returns a transformer factory. If possible the cached instance will be returned. - * - * @return A transformer factory - */ - private static TransformerFactory getTransformerFactory() { - if (transformerFactory != null) { - return transformerFactory; - } - transformerFactory = TransformerFactory.newInstance(); - return transformerFactory; - } - - /** - * Creates a new XML document. - * - * @return A new XML document - */ - public static Document createDocument() { - return getDocumentBuilder().newDocument(); - } - - /** - * Transforms the DOM XML document into a byte array. - * - * @param document - * The document to transform - * @return The byte array containing the XML representation - */ - public static byte[] transformToByteArray(Document document) { - ByteArrayOutputStream byteOutput = new ByteArrayOutputStream(); - OutputStreamWriter converter = new OutputStreamWriter(byteOutput, Charset.forName("UTF-8")); - Result transformResult = new StreamResult(converter); - Source documentSource = new DOMSource(document); - try { - Transformer transformer = getTransformerFactory().newTransformer(); - transformer.transform(documentSource, transformResult); - byteOutput.close(); - return byteOutput.toByteArray(); - } catch (IOException ioe1) { - } catch (TransformerConfigurationException tce1) { - } catch (TransformerException te1) { - } finally { - try { - byteOutput.close(); - } catch (IOException ioe1) { - } - } - return null; - } - - /** - * Transforms the byte array into a DOM XML document. - * - * @param data - * The byte array to parse - * @return The DOM XML document - */ - public static Document transformToDocument(byte[] data) { - ByteArrayInputStream byteInput = new ByteArrayInputStream(data); - InputStreamReader converter = new InputStreamReader(byteInput, Charset.forName("UTF-8")); - Source xmlSource = new StreamSource(converter); - Result xmlResult = new DOMResult(); - try { - Transformer transformer = getTransformerFactory().newTransformer(); - transformer.transform(xmlSource, xmlResult); - return (Document) ((DOMResult) xmlResult).getNode(); - } catch (TransformerConfigurationException tce1) { - } catch (TransformerException te1) { - } finally { - if (byteInput != null) - try { - byteInput.close(); - } catch (IOException ioe1) { - } - if (converter != null) - try { - converter.close(); - } catch (IOException ioe1) { - } - } - return null; - } - -}