package nl.ipo.cds.etl.theme; import nl.ipo.cds.attributemapping.operations.discover.OperationDiscoverer; import nl.ipo.cds.dao.ManagerDao; import nl.ipo.cds.domain.EtlJob; import nl.ipo.cds.etl.DatasetHandlers; import nl.ipo.cds.etl.DefaultDatasetHandlers; import nl.ipo.cds.etl.PersistableFeature; import nl.ipo.cds.etl.Validator; public class DefaultThemeConfig<T extends PersistableFeature> extends ThemeConfig<T> { private final Validator<T> validator; private final OperationDiscoverer operationDiscoverer; public DefaultThemeConfig (String themeName, Class<T> featureClass, final Validator<T> validator, final OperationDiscoverer operationDiscoverer) { super (themeName, featureClass); this.validator = validator; this.operationDiscoverer = operationDiscoverer; } @Override public DatasetHandlers<T> createDatasetHandlers (final EtlJob job, final ManagerDao managerDao){ return new DefaultDatasetHandlers<T>(operationDiscoverer, this, managerDao); } @Override public Validator<T> getValidator () throws ThemeConfigException { return validator; } }