package at.knowcenter.wag.egov.egiz.ldap.api; import iaik.security.ecc.provider.ECCProvider; import iaik.security.provider.IAIK; import at.knowcenter.wag.egov.egiz.ldap.client.LDAPIssuerNameFilter; import at.knowcenter.wag.egov.egiz.sig.LDAPAPI; /** * @author Thomas Knall */ public abstract class LDAPAPIFactory { private static LDAPAPIFactory ldapAPIfactoryInstance; protected LDAPAPIFactory() { IAIK.addAsProvider(); ECCProvider.addAsProvider(); } public static synchronized LDAPAPIFactory getInstance(LDAPIssuerNameFilter ldapIssuerNameFilter) { if (ldapAPIfactoryInstance == null) { ldapAPIfactoryInstance = new LDAPAPIFactoryImpl(ldapIssuerNameFilter); } return ldapAPIfactoryInstance; } public static LDAPAPIFactory getInstance() { return getInstance(null); } public abstract LDAPAPI createLDAPAPI(String implClassURI) throws LDAPAPIException; }