From b4b272b6af9d1f3c51011a407cdc29f64b812865 Mon Sep 17 00:00:00 2001 From: Andreas Fitzek Date: Thu, 10 Apr 2014 16:59:08 +0200 Subject: Memory optimizations, added Version to web --- .../gv/egiz/pdfas/lib/impl/status/PDFObject.java | 24 +++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/PDFObject.java') 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; } -- cgit v1.2.3