public abstract class AbstractMechanismAuthenticationFactory<M,F,E extends Exception> extends Object implements MechanismAuthenticationFactory<M,F,E>
Modifier and Type | Class and Description |
---|---|
protected static class |
AbstractMechanismAuthenticationFactory.Builder<M,F,E extends Exception> |
Modifier | Constructor and Description |
---|---|
protected |
AbstractMechanismAuthenticationFactory(SecurityDomain securityDomain,
MechanismConfigurationSelector mechanismConfigurationSelector,
F factory) |
Modifier and Type | Method and Description |
---|---|
M |
createMechanism(String name,
UnaryOperator<F> factoryTransformation)
Create the mechanism instance.
|
protected abstract M |
doCreate(String name,
CallbackHandler callbackHandler,
UnaryOperator<F> factoryTransformation) |
protected abstract Collection<String> |
getAllSupportedMechNames() |
F |
getFactory()
Get the actual factory used for instantiation.
|
Collection<String> |
getMechanismNames()
Get the collection of mechanism names may be supported by this factory.
|
SecurityDomain |
getSecurityDomain()
Get the underlying
SecurityDomain that mechanisms created by this factory will be using for authentication. |
protected abstract Collection<String> |
getSupportedCredentialAlgorithmNames(Class<? extends AlgorithmCredential> credentialType,
String mechName) |
protected abstract Collection<Class<? extends Credential>> |
getSupportedCredentialTypes(String mechName) |
protected abstract Collection<String> |
getSupportedEvidenceAlgorithmNames(Class<? extends AlgorithmEvidence> evidenceType,
String mechName) |
protected abstract Collection<Class<? extends Evidence>> |
getSupportedEvidenceTypes(String mechName) |
protected abstract boolean |
usesCredentials(String mechName)
Determine whether the given mechanism name needs credentials from a realm in order to authenticate.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
createMechanism
protected AbstractMechanismAuthenticationFactory(SecurityDomain securityDomain, MechanismConfigurationSelector mechanismConfigurationSelector, F factory)
public SecurityDomain getSecurityDomain()
MechanismAuthenticationFactory
SecurityDomain
that mechanisms created by this factory will be using for authentication.getSecurityDomain
in interface MechanismAuthenticationFactory<M,F,E extends Exception>
SecurityDomain
that mechanisms created by this factory will be using for authentication.public F getFactory()
MechanismAuthenticationFactory
getFactory
in interface MechanismAuthenticationFactory<M,F,E extends Exception>
null
)public M createMechanism(String name, UnaryOperator<F> factoryTransformation) throws E extends Exception
MechanismAuthenticationFactory
createMechanism
in interface MechanismAuthenticationFactory<M,F,E extends Exception>
name
- the mechanism name (must not be null
)factoryTransformation
- the transformation to apply to the factory (must not be null
)null
if the mechanism with the given name is not supportedE
- if the mechanism instantiation failedE extends Exception
protected abstract M doCreate(String name, CallbackHandler callbackHandler, UnaryOperator<F> factoryTransformation) throws E extends Exception
protected abstract Collection<Class<? extends Evidence>> getSupportedEvidenceTypes(String mechName)
protected abstract Collection<String> getSupportedEvidenceAlgorithmNames(Class<? extends AlgorithmEvidence> evidenceType, String mechName)
protected abstract Collection<Class<? extends Credential>> getSupportedCredentialTypes(String mechName)
protected abstract Collection<String> getSupportedCredentialAlgorithmNames(Class<? extends AlgorithmCredential> credentialType, String mechName)
protected abstract boolean usesCredentials(String mechName)
mechName
- the mechanism nametrue
if the mechanism requires realm credential support, false
if it does notpublic Collection<String> getMechanismNames()
MechanismAuthenticationFactory
getMechanismNames
in interface MechanismAuthenticationFactory<M,F,E extends Exception>
null
)protected abstract Collection<String> getAllSupportedMechNames()
Copyright © 2020 JBoss by Red Hat. All rights reserved.