package eu.europeana.cloud.migrator.processing; import java.lang.reflect.InvocationTargetException; public class FileProcessorFactory { /** Class name of the processor object that should be created. */ private String processingClass; /** Configuration file name for the processing class. */ private String processingConfig; public FileProcessorFactory(String processingClass, String processingConfig) { this.processingClass = processingClass; this.processingConfig = processingConfig; } public FileProcessor create() { if (processingClass == null || processingClass.isEmpty()) return null; Class<?> newClass = null; try { newClass = Class.forName(processingClass); return (FileProcessor) newClass.getConstructor(String.class).newInstance(processingConfig); } catch (ClassNotFoundException e) { return null; } catch (NoSuchMethodException e) { return null; } catch (InstantiationException e) { return null; } catch (IllegalAccessException e) { return null; } catch (InvocationTargetException e) { return null; } } }