diff options
author | Andreas Fitzek <andreas.fitzek@iaik.tugraz.at> | 2014-04-10 16:59:08 +0200 |
---|---|---|
committer | Andreas Fitzek <andreas.fitzek@iaik.tugraz.at> | 2014-04-10 16:59:08 +0200 |
commit | b4b272b6af9d1f3c51011a407cdc29f64b812865 (patch) | |
tree | 284dcfd429c6586e97f96827afaa5e93deabd01b /pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status | |
parent | f891dca529c9dc199114ae4f0857d28812315b11 (diff) | |
download | pdf-as-4-b4b272b6af9d1f3c51011a407cdc29f64b812865.tar.gz pdf-as-4-b4b272b6af9d1f3c51011a407cdc29f64b812865.tar.bz2 pdf-as-4-b4b272b6af9d1f3c51011a407cdc29f64b812865.zip |
Memory optimizations, added Version to web
Diffstat (limited to 'pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status')
-rw-r--r-- | pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/PDFObject.java | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/PDFObject.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/PDFObject.java index b402d0d2..f8ca3567 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/PDFObject.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/PDFObject.java @@ -23,25 +23,47 @@ ******************************************************************************/ package at.gv.egiz.pdfas.lib.impl.status; +import java.io.ByteArrayInputStream; +import java.io.IOException; + +import org.apache.pdfbox.pdmodel.PDDocument; + public class PDFObject { private OperationStatus status; + private PDDocument doc; private byte[] originalDocument; private byte[] signedDocument; public PDFObject(OperationStatus operationStatus) { this.status = operationStatus; } + + @Override + protected void finalize() throws Throwable { + super.finalize(); + if(doc != null) { + doc.close(); + } + } public byte[] getOriginalDocument() { return originalDocument; } - public void setOriginalDocument(byte[] originalDocument) { + public void setOriginalDocument(byte[] originalDocument) throws IOException { this.originalDocument = originalDocument; + if(doc != null) { + doc.close(); + } + this.doc = PDDocument.load(new ByteArrayInputStream(this.originalDocument)); } + public PDDocument getDocument() { + return this.doc; + } + public byte[] getSignedDocument() { return signedDocument; } |