diff options
author | netconomy <netconomy@7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c> | 2007-08-17 06:10:56 +0000 |
---|---|---|
committer | netconomy <netconomy@7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c> | 2007-08-17 06:10:56 +0000 |
commit | 3d982813b34f6f230baf4a467cdc37ec92a77595 (patch) | |
tree | 85319d39cee2ded1bb7a2b2dd9e8ea37e3778248 /src/main/java/at/gv/egiz/pdfas/impl/input/ByteArrayPdfDataSourceImpl.java | |
parent | 07f6c8f33b2d700276fe6ec6339ff836c8710131 (diff) | |
download | pdf-as-3-3d982813b34f6f230baf4a467cdc37ec92a77595.tar.gz pdf-as-3-3d982813b34f6f230baf4a467cdc37ec92a77595.tar.bz2 pdf-as-3-3d982813b34f6f230baf4a467cdc37ec92a77595.zip |
Performance
git-svn-id: https://joinup.ec.europa.eu/svn/pdf-as/trunk@167 7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c
Diffstat (limited to 'src/main/java/at/gv/egiz/pdfas/impl/input/ByteArrayPdfDataSourceImpl.java')
-rw-r--r-- | src/main/java/at/gv/egiz/pdfas/impl/input/ByteArrayPdfDataSourceImpl.java | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/main/java/at/gv/egiz/pdfas/impl/input/ByteArrayPdfDataSourceImpl.java b/src/main/java/at/gv/egiz/pdfas/impl/input/ByteArrayPdfDataSourceImpl.java new file mode 100644 index 0000000..0d27781 --- /dev/null +++ b/src/main/java/at/gv/egiz/pdfas/impl/input/ByteArrayPdfDataSourceImpl.java @@ -0,0 +1,56 @@ +/**
+ *
+ */
+package at.gv.egiz.pdfas.impl.input;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+
+import at.gv.egiz.pdfas.performance.PerformanceCounters;
+import at.gv.egiz.pdfas.framework.input.PdfDataSource;
+
+/**
+ * Implements a PdfDataSource that holds the whole PDF document in a byte array.
+ *
+ * <p>
+ * Note that holding the data in a byte array is very memory consuming for large
+ * documents.
+ * </p>
+ *
+ * @author wprinz
+ */
+public class ByteArrayPdfDataSourceImpl implements PdfDataSource
+{
+ protected byte[] pdf = null;
+
+ protected int length = -1;
+
+ public ByteArrayPdfDataSourceImpl(byte[] pdf)
+ {
+ PerformanceCounters.byteArrays.increment();
+
+ this.pdf = pdf;
+ this.length = pdf.length;
+ }
+
+ public ByteArrayPdfDataSourceImpl(byte[] pdf, int length)
+ {
+ PerformanceCounters.byteArrays.increment();
+
+ this.pdf = pdf;
+ this.length = length;
+ }
+
+
+ public InputStream createInputStream()
+ {
+ ByteArrayInputStream bais = new ByteArrayInputStream(this.pdf, 0, this.length);
+ return bais;
+ }
+
+ public int getLength()
+ {
+ return this.length;
+ }
+
+}
|