package eu.europa.esig.dss.validation.process.qmatrix.qualification.checks.type;
import java.util.List;
import eu.europa.esig.dss.validation.process.qmatrix.EIDASUtils;
import eu.europa.esig.dss.validation.process.qmatrix.qualification.checks.type.cert.TypeByCertificatePostEIDAS;
import eu.europa.esig.dss.validation.process.qmatrix.qualification.checks.type.cert.TypeByCertificatePreEIDAS;
import eu.europa.esig.dss.validation.process.qmatrix.qualification.checks.type.tl.TypeByTL;
import eu.europa.esig.dss.validation.reports.wrapper.CertificateWrapper;
import eu.europa.esig.dss.validation.reports.wrapper.TrustedServiceWrapper;
public final class TypeStrategyFactory {
private TypeStrategyFactory() {
}
public static TypeStrategy createTypeFromCert(CertificateWrapper signingCertificate) {
if (EIDASUtils.isPostEIDAS(signingCertificate.getNotBefore())) {
return new TypeByCertificatePostEIDAS(signingCertificate);
} else {
return new TypeByCertificatePreEIDAS(signingCertificate);
}
}
public static TypeStrategy createTypeFromTL(List<TrustedServiceWrapper> trustedServices, TypeStrategy typeInCert) {
return new TypeByTL(trustedServices, typeInCert);
}
}