aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/gv/egiz/pdfas/framework/input/correction/CorrectorFactory.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/gv/egiz/pdfas/framework/input/correction/CorrectorFactory.java')
-rw-r--r--src/main/java/at/gv/egiz/pdfas/framework/input/correction/CorrectorFactory.java43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/main/java/at/gv/egiz/pdfas/framework/input/correction/CorrectorFactory.java b/src/main/java/at/gv/egiz/pdfas/framework/input/correction/CorrectorFactory.java
new file mode 100644
index 0000000..083713f
--- /dev/null
+++ b/src/main/java/at/gv/egiz/pdfas/framework/input/correction/CorrectorFactory.java
@@ -0,0 +1,43 @@
+/**
+ *
+ */
+package at.gv.egiz.pdfas.framework.input.correction;
+
+import at.gv.egiz.pdfas.impl.input.correction.ExternalCorrector;
+import at.gv.egiz.pdfas.impl.input.correction.InternalCorrector;
+import at.knowcenter.wag.egov.egiz.cfg.SettingsReader;
+import at.knowcenter.wag.egov.egiz.exceptions.SettingsException;
+
+/**
+ * Factory for creating Correctors.
+ *
+ * @author wprinz
+ */
+public class CorrectorFactory
+{
+ public static final String INTERNAL_CORRECTOR = "internal";
+
+ public static final String EXTERNAL_CORRECTOR = "external";
+
+ public static final String CORRECTOR_KEY = "corrector";
+
+ public static Corrector createCorrector(String id) throws SettingsException
+ {
+ if (id.equals(INTERNAL_CORRECTOR))
+ {
+ return new InternalCorrector();
+ }
+ if (id.equals(EXTERNAL_CORRECTOR))
+ {
+ return new ExternalCorrector();
+ }
+ throw new SettingsException("The connector id '" + id + "' is not a valid corrector id.");
+ }
+
+ public static Corrector createCorrector() throws SettingsException
+ {
+ String id = SettingsReader.getInstance().getSetting(CORRECTOR_KEY, INTERNAL_CORRECTOR);
+ return createCorrector(id);
+ }
+
+}