package de.unigoettingen.sub.ocr.controller; import java.util.Properties; import de.uni_goettingen.sub.commons.ocr.abbyy.ocrsdk.OcrsdkFactory; import de.uni_goettingen.sub.commons.ocr.abbyy.server.AbbyyFactory; import de.uni_goettingen.sub.commons.ocr.abbyy.server.multiuser.AbbyyMultiuserFactory; import de.uni_goettingen.sub.commons.ocr.api.OcrFactory; import de.uni_goettingen.sub.commons.ocr.tesseract.TesseractFactory; public class FactoryProvider { public OcrFactory createFactory(String factoryId, Properties userProps) { if ("abbyy".equals(factoryId)) { return new AbbyyFactory(userProps); } else if ("abbyy-multiuser".equals(factoryId)) { return new AbbyyMultiuserFactory(userProps); } else if ("tesseract".equals(factoryId)) { return new TesseractFactory(); } else if ("ocrsdk".equals(factoryId)) { return new OcrsdkFactory(userProps); } else { throw new IllegalArgumentException("Unknown argument: " + factoryId); } } }