package org.jactr.core.utils.parameter; /* * default logging */ import java.util.function.Consumer; import java.util.function.Supplier; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; public class ClassNameParameterProcessor extends ParameterProcessor<Class> { /** * Logger definition */ static private final transient Log LOGGER = LogFactory .getLog(ClassNameParameterProcessor.class); public ClassNameParameterProcessor(String parameterName, Consumer<Class> setFunction, Supplier<Class> getFunction, final ClassLoader classLoader) { super(parameterName, (String name) -> { try { return classLoader.loadClass(name); } catch (Exception e) { LOGGER.error(String.format("Failed to load class %s", name), e); throw new ParameterException(e); } }, setFunction, b -> b.getName(), getFunction); } }