mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-03 12:05:52 +01:00
72 lines
2.0 KiB
Java
72 lines
2.0 KiB
Java
package sonia.scm.xml;
|
|
|
|
import com.google.common.base.Charsets;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
import javax.xml.stream.XMLInputFactory;
|
|
import javax.xml.stream.XMLOutputFactory;
|
|
import javax.xml.stream.XMLStreamException;
|
|
import javax.xml.stream.XMLStreamReader;
|
|
import javax.xml.stream.XMLStreamWriter;
|
|
import java.io.File;
|
|
import java.io.IOException;
|
|
import java.io.Reader;
|
|
import java.io.Writer;
|
|
import java.nio.file.Files;
|
|
import java.nio.file.Path;
|
|
|
|
public final class XmlStreams {
|
|
|
|
private static final Logger LOG = LoggerFactory.getLogger(XmlStreams.class);
|
|
|
|
private XmlStreams() {
|
|
}
|
|
|
|
public static void close(XMLStreamWriter writer) {
|
|
if (writer != null) {
|
|
try {
|
|
writer.close();
|
|
} catch (XMLStreamException ex) {
|
|
LOG.error("could not close writer", ex);
|
|
}
|
|
}
|
|
}
|
|
|
|
public static void close(XMLStreamReader reader) {
|
|
if (reader != null) {
|
|
try {
|
|
reader.close();
|
|
} catch (XMLStreamException ex) {
|
|
LOG.error("could not close reader", ex);
|
|
}
|
|
}
|
|
}
|
|
|
|
public static XMLStreamReader createReader(Path path) throws IOException, XMLStreamException {
|
|
return createReader(Files.newBufferedReader(path, Charsets.UTF_8));
|
|
}
|
|
|
|
public static XMLStreamReader createReader(File file) throws IOException, XMLStreamException {
|
|
return createReader(file.toPath());
|
|
}
|
|
|
|
private static XMLStreamReader createReader(Reader reader) throws XMLStreamException {
|
|
return XMLInputFactory.newInstance().createXMLStreamReader(reader);
|
|
}
|
|
|
|
|
|
public static IndentXMLStreamWriter createWriter(Path path) throws IOException, XMLStreamException {
|
|
return createWriter(Files.newBufferedWriter(path, Charsets.UTF_8));
|
|
}
|
|
|
|
public static IndentXMLStreamWriter createWriter(File file) throws IOException, XMLStreamException {
|
|
return createWriter(file.toPath());
|
|
}
|
|
|
|
private static IndentXMLStreamWriter createWriter(Writer writer) throws XMLStreamException {
|
|
return new IndentXMLStreamWriter(XMLOutputFactory.newFactory().createXMLStreamWriter(writer));
|
|
}
|
|
|
|
}
|