aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/gv/egiz/moazs/scheme/Marshaller.java
diff options
context:
space:
mode:
authorChristof Rabensteiner <christof.rabensteiner@iaik.tugraz.at>2019-05-08 13:41:27 +0200
committerChristof Rabensteiner <christof.rabensteiner@iaik.tugraz.at>2019-05-08 13:41:27 +0200
commit6f450a1d3ff60557b1081f9e8ef6bd5f375db842 (patch)
tree336068552025782ec3f9716999fb3c391fbed9ea /src/main/java/at/gv/egiz/moazs/scheme/Marshaller.java
parent36fd031d1f0218e323b50e6d63eff4a7cee99cd7 (diff)
downloadmoa-zs-6f450a1d3ff60557b1081f9e8ef6bd5f375db842.tar.gz
moa-zs-6f450a1d3ff60557b1081f9e8ef6bd5f375db842.tar.bz2
moa-zs-6f450a1d3ff60557b1081f9e8ef6bd5f375db842.zip
Refactor: Consolidate Schema-Related Components
Diffstat (limited to 'src/main/java/at/gv/egiz/moazs/scheme/Marshaller.java')
-rw-r--r--src/main/java/at/gv/egiz/moazs/scheme/Marshaller.java33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/main/java/at/gv/egiz/moazs/scheme/Marshaller.java b/src/main/java/at/gv/egiz/moazs/scheme/Marshaller.java
new file mode 100644
index 0000000..2dbb6a0
--- /dev/null
+++ b/src/main/java/at/gv/egiz/moazs/scheme/Marshaller.java
@@ -0,0 +1,33 @@
+package at.gv.egiz.moazs.scheme;
+
+import org.springframework.oxm.jaxb.Jaxb2Marshaller;
+
+import javax.xml.transform.Result;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
+import java.io.InputStream;
+import java.io.StringWriter;
+
+/**
+ * @author xerx593
+ * Source: https://stackoverflow.com/questions/44676532/how-to-use-spring-to-marshal-and-unmarshal-xml
+ */
+public class Marshaller {
+
+ private final Jaxb2Marshaller marshaller;
+
+ public Marshaller(Jaxb2Marshaller marshaller) {
+ this.marshaller = marshaller;
+ }
+
+ public <T> String marshallXml(final T obj) {
+ StringWriter sw = new StringWriter();
+ Result result = new StreamResult(sw);
+ marshaller.marshal(obj, result);
+ return sw.toString();
+ }
+
+ public <T> T unmarshallXml(final InputStream xml) {
+ return (T) marshaller.unmarshal(new StreamSource(xml));
+ }
+}