diff options
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.java | 43 |
1 files changed, 8 insertions, 35 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 f69c20a4..de88f610 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 @@ -24,19 +24,16 @@ package at.gv.egiz.pdfas.lib.impl.status; import java.io.IOException; -import java.io.OutputStream; import javax.activation.DataSource; -import org.apache.pdfbox.pdmodel.PDDocument; -public class PDFObject { +public abstract class PDFObject { - private OperationStatus status; + protected OperationStatus status; - private PDDocument doc; - private DataSource originalDocument; - private byte[] signedDocument; + protected DataSource originalDocument; + protected byte[] signedDocument; public PDFObject(OperationStatus operationStatus) { this.status = operationStatus; @@ -45,41 +42,15 @@ public class PDFObject { @Override protected void finalize() throws Throwable { super.finalize(); - if(doc != null) { - doc.close(); - } } - public void close() { - if(doc != null) { - try { - doc.close(); - //System.gc(); - } catch(Throwable e) { - // ignore! - } - doc = null; - } - } + public abstract void close(); public DataSource getOriginalDocument() { return originalDocument; } - public void setOriginalDocument(DataSource originalDocument) throws IOException { - this.originalDocument = originalDocument; - if(doc != null) { - doc.close(); - } - this.doc = PDDocument.load(this.originalDocument.getInputStream()); - if(this.doc != null) { - this.doc.getDocument().setWarnMissingClose(false); - } - } - - public PDDocument getDocument() { - return this.doc; - } + public abstract void setOriginalDocument(DataSource originalDocument) throws IOException; public byte[] getSignedDocument() { return signedDocument; @@ -96,4 +67,6 @@ public class PDFObject { public void setStatus(OperationStatus status) { this.status = status; } + + public abstract String getPDFVersion(); } |