Package org.wildfly.security.http.util
Class ServiceLoaderServerMechanismFactory
java.lang.Object
org.wildfly.security.http.util.ServiceLoaderServerMechanismFactory
- All Implemented Interfaces:
HttpServerAuthenticationMechanismFactory
public final class ServiceLoaderServerMechanismFactory
extends Object
implements HttpServerAuthenticationMechanismFactory
A
HttpServerAuthenticationMechanismFactory which locates further factory implementations by iterating a ServiceLoader- Author:
- Darran Lofthouse
-
Constructor Summary
ConstructorsConstructorDescriptionServiceLoaderServerMechanismFactory(ClassLoader classLoader) Constructs a new instance, aServiceLoaderwill be created from the suppliedClassLoaderServiceLoaderServerMechanismFactory(ServiceLoader<HttpServerAuthenticationMechanismFactory> serviceLoader) Constructs a new instance with a previously createdServiceLoaderThis class synchronizes on the supplied service loader, if the same is synchronized against outside thenServiceLoader.reload()can safely be called. -
Method Summary
Modifier and TypeMethodDescriptioncreateAuthenticationMechanism(String mechanismName, Map<String, ?> properties, CallbackHandler callbackHandler) Obtain an instance of the authentication mechanism requested provided this is allowed by any policy specified within the supplied properties.String[]getMechanismNames(Map<String, ?> properties) Get the names of the HTTP authentication mechanisms that can be supplied by this factory filtered by the supplied properties.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.wildfly.security.http.HttpServerAuthenticationMechanismFactory
shutdown
-
Constructor Details
-
ServiceLoaderServerMechanismFactory
public ServiceLoaderServerMechanismFactory(ServiceLoader<HttpServerAuthenticationMechanismFactory> serviceLoader) Constructs a new instance with a previously createdServiceLoaderThis class synchronizes on the supplied service loader, if the same is synchronized against outside thenServiceLoader.reload()can safely be called.- Parameters:
serviceLoader- theServiceLoaderto use to locateHttpServerAuthenticationMechanismFactoryinstances.
-
ServiceLoaderServerMechanismFactory
Constructs a new instance, aServiceLoaderwill be created from the suppliedClassLoader- Parameters:
classLoader- theClassLoaderto use to construct aServiceLoader.
-
-
Method Details
-
getMechanismNames
Description copied from interface:HttpServerAuthenticationMechanismFactoryGet the names of the HTTP authentication mechanisms that can be supplied by this factory filtered by the supplied properties.- Specified by:
getMechanismNamesin interfaceHttpServerAuthenticationMechanismFactory- Parameters:
properties- thenon-nullset of properties to pass configuration to the mechanisms that may be evaluated for mechanism availability.- Returns:
- A
non-nullarray of the names of the supported HTTP authentication mechanisms. - See Also:
-
createAuthenticationMechanism
public HttpServerAuthenticationMechanism createAuthenticationMechanism(String mechanismName, Map<String, ?> properties, CallbackHandler callbackHandler) throws HttpAuthenticationExceptionDescription copied from interface:HttpServerAuthenticationMechanismFactoryObtain an instance of the authentication mechanism requested provided this is allowed by any policy specified within the supplied properties.- Specified by:
createAuthenticationMechanismin interfaceHttpServerAuthenticationMechanismFactory- Parameters:
mechanismName- Thenon-nullname of the mechanism to create.properties- Thenon-nullset of properties to select and configure the mechanism that may be evaluated for mechanism availability.callbackHandler- Thenon-nullCallbackHandlerfor use by the mechanism during authentication.- Returns:
- the configured
HttpServerAuthenticationMechanismornullif no mechanism could be resolved for the given mechanism name. - Throws:
HttpAuthenticationException- if there is an error creating the mechanism.- See Also:
-