aboutsummaryrefslogtreecommitdiff
path: root/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsImpl.java')
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsImpl.java69
1 files changed, 69 insertions, 0 deletions
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsImpl.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsImpl.java
new file mode 100644
index 00000000..d7ed5f3a
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsImpl.java
@@ -0,0 +1,69 @@
+package at.gv.egiz.pdfas.lib.impl;
+
+import java.util.List;
+
+import at.gv.egiz.pdfas.common.exceptions.PdfAsException;
+import at.gv.egiz.pdfas.common.settings.ISettings;
+import at.gv.egiz.pdfas.lib.api.Configuration;
+import at.gv.egiz.pdfas.lib.api.IConfigurationConstants;
+import at.gv.egiz.pdfas.lib.api.PdfAs;
+import at.gv.egiz.pdfas.lib.api.sign.SignParameter;
+import at.gv.egiz.pdfas.lib.api.sign.SignResult;
+import at.gv.egiz.pdfas.lib.api.verify.VerifyParameter;
+import at.gv.egiz.pdfas.lib.api.verify.VerifyResult;
+import at.gv.egiz.pdfas.lib.impl.configuration.ConfigurationImpl;
+import at.gv.egiz.pdfas.lib.impl.configuration.PlaceholderConfiguration;
+import at.gv.egiz.pdfas.lib.impl.status.OperationStatus;
+import at.gv.egiz.pdfas.lib.impl.status.RequestedSignature;
+
+public class PdfAsImpl implements PdfAs, IConfigurationConstants {
+
+ public SignResult sign(SignParameter parameter) throws PdfAsException {
+ // TODO: verify signParameter
+
+ // Status initialization
+ if(!(parameter.getConfiguration() instanceof ISettings)) {
+
+ }
+ ISettings settings = (ISettings) parameter.getConfiguration();
+ OperationStatus status = new OperationStatus(settings, parameter);
+ PlaceholderConfiguration placeholderConfiguration = status.getPlaceholderConfiguration();
+ // set Original PDF Document Data
+ status.getPdfObject().setOriginalDocument(parameter.getDataSource().getByteData());
+
+
+ // Placeholder search?
+ if(placeholderConfiguration.isGlobalPlaceholderEnabled()) {
+ // TODO: Do placeholder search
+ }
+
+ RequestedSignature requestedSignature = new RequestedSignature(status);
+
+ // TODO get Certificate
+
+ if(requestedSignature.isVisual()) {
+ // TODO: SignBlockCreationStage (visual) -> create visual signature block (logicaly)
+
+ // TODO: PositioningStage (visual) -> find position or use fixed position
+
+ // TODO: StampingStage (visual) -> stamp logical signature block to location (itext)
+ } else {
+ // Stamped Object is equal to original
+ status.getPdfObject().setStampedDocument(status.getPdfObject().getOriginalDocument());
+ }
+
+ // TODO: Create signature
+
+ return null;
+ }
+
+ public List<VerifyResult> verify(VerifyParameter parameter) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Configuration getConfiguration() {
+ return new ConfigurationImpl();
+ }
+
+}