aboutsummaryrefslogtreecommitdiff
path: root/pdf-as-lib/src/main/java/at/gv/egiz/dsig/util/DsigMarschaller.java
diff options
context:
space:
mode:
Diffstat (limited to 'pdf-as-lib/src/main/java/at/gv/egiz/dsig/util/DsigMarschaller.java')
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/dsig/util/DsigMarschaller.java52
1 files changed, 52 insertions, 0 deletions
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/dsig/util/DsigMarschaller.java b/pdf-as-lib/src/main/java/at/gv/egiz/dsig/util/DsigMarschaller.java
new file mode 100644
index 00000000..17770737
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/dsig/util/DsigMarschaller.java
@@ -0,0 +1,52 @@
+package at.gv.egiz.dsig.util;
+
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.StringReader;
+import java.io.StringWriter;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Marshaller;
+import javax.xml.bind.Unmarshaller;
+import javax.xml.namespace.QName;
+
+public class DsigMarschaller {
+ private static Marshaller marshaller = null;
+ private static Unmarshaller unmarshaller = null;
+
+ public final static QName X509DataTypeX509Certificate_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509Certificate");
+
+ static {
+ try {
+ JAXBContext context = JAXBContext.newInstance("at.gv.egiz.dsig");
+ marshaller = context.createMarshaller();
+ marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
+ marshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8");
+
+ unmarshaller = context.createUnmarshaller();
+ } catch (JAXBException e) {
+ throw new RuntimeException(
+ "There was a problem creating a JAXBContext object for formatting the object to XML.");
+ }
+ }
+
+ public static void marshal(Object obj, OutputStream os) throws JAXBException {
+ marshaller.marshal(obj, os);
+ }
+
+ public static String marshalToString(Object obj) throws JAXBException {
+ StringWriter sw = new StringWriter();
+ marshaller.marshal(obj, sw);
+ return sw.toString();
+ }
+
+ public static Object unmarshal(InputStream is) throws JAXBException {
+ return unmarshaller.unmarshal(is);
+ }
+
+ public static Object unmarshalFromString(String message) throws JAXBException {
+ StringReader sr = new StringReader(message);
+ return unmarshaller.unmarshal(sr);
+ }
+}