aboutsummaryrefslogtreecommitdiff
path: root/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/io
diff options
context:
space:
mode:
Diffstat (limited to 'pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/io')
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/io/ByteArrayDataSink.java49
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/io/ByteArrayPdfDataSource.java41
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/io/TextDataSource.java50
3 files changed, 140 insertions, 0 deletions
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/io/ByteArrayDataSink.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/io/ByteArrayDataSink.java
new file mode 100644
index 0000000..4bdb724
--- /dev/null
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/io/ByteArrayDataSink.java
@@ -0,0 +1,49 @@
+package at.gv.egiz.pdfas.web.io;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+
+import at.gv.egiz.pdfas.api.io.DataSink;
+
+public class ByteArrayDataSink implements DataSink {
+
+ private ByteArrayOutputStream baos;
+ private String mimeType;
+ private String characterEncoding;
+
+ public OutputStream createOutputStream(String mimeType) throws IOException {
+ this.mimeType = mimeType;
+ baos = new ByteArrayOutputStream();
+ return baos;
+ }
+
+ public OutputStream createOutputStream(String mimeType, String characterEncoding)
+ throws IOException {
+ this.mimeType = mimeType;
+ this.characterEncoding = characterEncoding;
+ baos = new ByteArrayOutputStream();
+ return baos;
+ }
+
+ public byte[] getData() {
+ return baos.toByteArray();
+ }
+
+ public String getMimeType() {
+ return this.mimeType;
+ }
+
+ public String getCharacterEncoding() {
+ return this.characterEncoding;
+ }
+
+ public void setMimeType(String mimeType) {
+ this.mimeType = mimeType;
+ }
+
+ public void setCharacterEncoding(String characterEncoding) {
+ this.characterEncoding = characterEncoding;
+ }
+
+}
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/io/ByteArrayPdfDataSource.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/io/ByteArrayPdfDataSource.java
new file mode 100644
index 0000000..ae53397
--- /dev/null
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/io/ByteArrayPdfDataSource.java
@@ -0,0 +1,41 @@
+package at.gv.egiz.pdfas.web.io;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+
+import at.gv.egiz.pdfas.api.io.DataSource;
+
+/**
+ *
+ * @author exthex
+ *
+ */
+public class ByteArrayPdfDataSource implements DataSource {
+
+ private byte[] data;
+
+ public ByteArrayPdfDataSource(byte[] data) {
+ this.data = data;
+ }
+
+ public InputStream createInputStream() {
+ return new ByteArrayInputStream(this.data);
+ }
+
+ public int getLength() {
+ return this.data.length;
+ }
+
+ public byte[] getAsByteArray() {
+ return this.data;
+ }
+
+ public String getMimeType() {
+ return "application/pdf";
+ }
+
+ public String getCharacterEncoding() {
+ return null;
+ }
+
+}
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/io/TextDataSource.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/io/TextDataSource.java
new file mode 100644
index 0000000..de5c7a8
--- /dev/null
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/io/TextDataSource.java
@@ -0,0 +1,50 @@
+package at.gv.egiz.pdfas.web.io;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
+
+import at.gv.egiz.pdfas.api.io.DataSource;
+
+/**
+ *
+ * @author exthex
+ *
+ */
+public class TextDataSource implements DataSource {
+
+ private String text;
+
+ public TextDataSource(String text) {
+ this.text = text;
+ }
+
+ public InputStream createInputStream() {
+ try {
+ return new ByteArrayInputStream(text.getBytes("UTF-8"));
+ } catch (UnsupportedEncodingException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ public int getLength() {
+ return 0;
+ }
+
+ public byte[] getAsByteArray() {
+ try{
+ return text.getBytes("UTF-8");
+ } catch (UnsupportedEncodingException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ public String getMimeType() {
+ return "text/plain";
+ }
+
+ public String getCharacterEncoding() {
+ return "UTF-8";
+ }
+
+}