![JAR search and dependency download from the Maven repository](/logo.png)
no.difi.certvalidator.parser.PrincipleNameRuleParser 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.PrincipalNameProvider;
import no.difi.certvalidator.api.ValidatorRule;
import no.difi.certvalidator.api.ValidatorRuleParser;
import no.difi.certvalidator.jaxb.PrincipleNameType;
import no.difi.certvalidator.lang.ValidatorParsingException;
import no.difi.certvalidator.rule.PrincipalNameRule;
import no.difi.certvalidator.util.SimplePrincipalNameProvider;
import org.kohsuke.MetaInfServices;
import java.util.Map;
/**
* @author erlend
*/
@MetaInfServices
public class PrincipleNameRuleParser implements ValidatorRuleParser {
@Override
public boolean supports(Class cls) {
return PrincipleNameType.class.equals(cls);
}
@Override
public ValidatorRule parse(Object o, Map objectStorage) throws ValidatorParsingException {
PrincipleNameType principleNameType = (PrincipleNameType) o;
PrincipalNameProvider principalNameProvider;
if (principleNameType.getReference() != null)
principalNameProvider = (PrincipalNameProvider) objectStorage.get(principleNameType.getReference().getValue());
else
principalNameProvider = new SimplePrincipalNameProvider(principleNameType.getValue());
return new PrincipalNameRule(
principleNameType.getField(),
principalNameProvider,
principleNameType.getPrincipal() != null ?
PrincipalNameRule.Principal.valueOf(principleNameType.getPrincipal().toString()) : PrincipalNameRule.Principal.SUBJECT
);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy