no.difi.certvalidator.parser.ClassRuleParser Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of commons-certvalidator Show documentation
Show all versions of commons-certvalidator Show documentation
Rule engine for creation of certificate validator.
package no.difi.certvalidator.parser;
import no.difi.certvalidator.api.ValidatorRule;
import no.difi.certvalidator.api.ValidatorRuleParser;
import no.difi.certvalidator.jaxb.ClassType;
import no.difi.certvalidator.lang.ValidatorParsingException;
import org.kohsuke.MetaInfServices;
import java.util.Map;
/**
* @author erlend
*/
@MetaInfServices
public class ClassRuleParser implements ValidatorRuleParser {
@Override
public boolean supports(Class cls) {
return ClassType.class.equals(cls);
}
@Override
public ValidatorRule parse(Object o, Map objectStorage) throws ValidatorParsingException {
ClassType classType = (ClassType) o;
try {
return (ValidatorRule) Class.forName(classType.getValue()).newInstance();
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) {
throw new ValidatorParsingException(
String.format("Unable to load rule '%s'.", classType.getValue()), e);
}
}
}