/* * Copyright (c) 2011-2012 ICM Uniwersytet Warszawski All rights reserved. * See LICENCE.txt file for licensing information. */ package eu.emi.security.authn.x509.impl; import java.util.ArrayList; import java.util.Collection; import eu.emi.security.authn.x509.ProxySupport; import eu.emi.security.authn.x509.RevocationParameters; import eu.emi.security.authn.x509.StoreUpdateListener; import eu.emi.security.authn.x509.X509CertChainValidator; /** * Contains parameters common for all {@link X509CertChainValidator} implementations * which use {@link RevocationParametersExt} * * @author K. Benedyczak */ public class ValidatorParamsExt extends ValidatorParams { protected RevocationParametersExt revocationSettings; /** * Default constructor: proxies are allowed, no initial update listeners, * default revocation settings. */ public ValidatorParamsExt() { this(new RevocationParametersExt(), ValidatorParams.DEFAULT_PROXY_SUPPORT, new ArrayList<StoreUpdateListener>()); } /** * Allows for setting all parameters except the list of initial listeners * @param revocationSettings desired revocation settings * @param allowProxy whether to allow proxies */ public ValidatorParamsExt(RevocationParametersExt revocationSettings, ProxySupport allowProxy) { this(revocationSettings, allowProxy, new ArrayList<StoreUpdateListener>()); } /** * Full version, allows for setting all parameters. * @param revocationSettings desired revocation settings * @param allowProxy whether to allow proxies * @param initialListeners initial trust store update listeners */ public ValidatorParamsExt(RevocationParametersExt revocationSettings, ProxySupport allowProxy, Collection<? extends StoreUpdateListener> initialListeners) { super(revocationSettings, allowProxy, initialListeners); setRevocationSettings(revocationSettings); } /** * @return revocation checking settings */ @Override public RevocationParametersExt getRevocationSettings() { return revocationSettings; } /** * @param revocationSettings revocation checking settings */ public void setRevocationSettings(RevocationParametersExt revocationSettings) { this.revocationSettings = revocationSettings; } /** * Do not use this method - it will always throw an exception. Use the one * with extended parameters. * @param revocationSettings revocation checking settings * */ @Override public void setRevocationSettings(RevocationParameters revocationSettings) { throw new IllegalArgumentException("This class can be configured " + "only using " + RevocationParametersExt.class); } }