aboutsummaryrefslogtreecommitdiff
path: root/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/PDFObject.java
diff options
context:
space:
mode:
authorAndreas Fitzek <andreas.fitzek@iaik.tugraz.at>2014-04-10 16:59:08 +0200
committerAndreas Fitzek <andreas.fitzek@iaik.tugraz.at>2014-04-10 16:59:08 +0200
commitb4b272b6af9d1f3c51011a407cdc29f64b812865 (patch)
tree284dcfd429c6586e97f96827afaa5e93deabd01b /pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/PDFObject.java
parentf891dca529c9dc199114ae4f0857d28812315b11 (diff)
downloadpdf-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/PDFObject.java')
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/PDFObject.java24
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;
}