/*
* 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.
*
* @author K. Benedyczak
*/
public class ValidatorParams
{
public static final ProxySupport DEFAULT_PROXY_SUPPORT = ProxySupport.ALLOW;
protected ProxySupport allowProxy;
protected Collection<? extends StoreUpdateListener> initialListeners;
protected RevocationParameters revocationSettings;
/**
* Default constructor: proxies are allowed, no initial update listeners,
* default revocation settings.
*/
public ValidatorParams()
{
this(new RevocationParameters(), ProxySupport.ALLOW,
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 ValidatorParams(RevocationParameters 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 ValidatorParams(RevocationParameters revocationSettings,
ProxySupport allowProxy,
Collection<? extends StoreUpdateListener> initialListeners)
{
this.allowProxy = allowProxy;
this.initialListeners = initialListeners;
this.revocationSettings = revocationSettings;
}
/**
* @return whether to allow proxy certificates during validation
*/
public ProxySupport isAllowProxy()
{
return allowProxy;
}
/**
* @param allowProxy whether to allow proxy certificates during validation
*/
public void setAllowProxy(ProxySupport allowProxy)
{
this.allowProxy = allowProxy;
}
/**
* @return collection of initial listeners of trust store updates
*/
public Collection<? extends StoreUpdateListener> getInitialListeners()
{
return initialListeners;
}
/**
* @param initialListeners collection of initial listeners of trust store updates
*/
public void setInitialListeners(Collection<? extends StoreUpdateListener> initialListeners)
{
this.initialListeners = initialListeners;
}
/**
* @return revocation checking settings
*/
public RevocationParameters getRevocationSettings()
{
return revocationSettings;
}
/**
* @param revocationSettings revocation checking settings
*/
public void setRevocationSettings(RevocationParameters revocationSettings)
{
this.revocationSettings = revocationSettings;
}
}