/** * */ 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); } }