aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/gv/egiz/pdfas/framework/VerificatorFactory.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/gv/egiz/pdfas/framework/VerificatorFactory.java')
-rw-r--r--src/main/java/at/gv/egiz/pdfas/framework/VerificatorFactory.java45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/main/java/at/gv/egiz/pdfas/framework/VerificatorFactory.java b/src/main/java/at/gv/egiz/pdfas/framework/VerificatorFactory.java
new file mode 100644
index 0000000..f77ca23
--- /dev/null
+++ b/src/main/java/at/gv/egiz/pdfas/framework/VerificatorFactory.java
@@ -0,0 +1,45 @@
+/**
+ *
+ */
+package at.gv.egiz.pdfas.framework;
+
+import at.gv.egiz.pdfas.exceptions.framework.VerificatorFactoryException;
+import at.gv.egiz.pdfas.framework.verificator.Verificator;
+import at.gv.egiz.pdfas.impl.verificator.binary.BinaryVerificator_1_0_0;
+import at.gv.egiz.pdfas.impl.verificator.binary.BinaryVerificator_1_1_0;
+import at.knowcenter.wag.egov.egiz.PdfASID;
+import at.knowcenter.wag.egov.egiz.framework.SignatorFactory;
+
+/**
+ * @author wprinz
+ *
+ */
+public class VerificatorFactory
+{
+
+ public static Verificator createVerificator(PdfASID kz) throws VerificatorFactoryException
+ {
+ if (kz.getType().equals(SignatorFactory.TYPE_BINARY))
+ {
+ return createBinaryVerificator(kz);
+ }
+
+ return null;
+ }
+
+ public static Verificator createBinaryVerificator(PdfASID kz) throws VerificatorFactoryException
+ {
+ assert kz.getType().equals(SignatorFactory.TYPE_BINARY);
+
+ if (kz.equals(BinaryVerificator_1_0_0.MY_ID))
+ {
+ return new BinaryVerificator_1_0_0();
+ }
+ if (kz.equals(BinaryVerificator_1_1_0.MY_ID))
+ {
+ return new BinaryVerificator_1_1_0();
+ }
+
+ throw new VerificatorFactoryException("kz is not a known binary signator " + kz);
+ }
+}