public abstract class AbstractSecurityProviderRegistrar extends AbstractLoggingBean implements SecurityProviderRegistrar
Modifier and Type | Field and Description |
---|---|
protected Map<String,Object> |
props |
protected AtomicReference<Provider> |
providerHolder |
protected Map<Class<?>,Map<String,Boolean>> |
supportedEntities |
log
ALL_OPTIONS_VALUE, ALL_OPTIONS_WILDCARD, CONFIG_PROP_BASE, ENABLED_PROPERTY, NAMED_PROVIDER_PROPERTY, NO_OPTIONS_VALUE, SECURITY_ENTITIES
EMPTY
BY_NAME_COMPARATOR, NAME_EXTRACTOR
FALSE, TRUE
EMPTY
Modifier | Constructor and Description |
---|---|
protected |
AbstractSecurityProviderRegistrar(String name) |
Modifier and Type | Method and Description |
---|---|
protected Provider |
createProviderInstance(String providerClassName) |
String |
getName() |
protected Provider |
getOrCreateProvider(String providerClassName)
Attempts to see if a provider with this name already registered.
|
Map<String,Object> |
getProperties()
A map of properties that can be used to configure the SSH server or client.
|
boolean |
isSecurityEntitySupported(Class<?> entityType,
String name) |
String |
toString() |
debug, debug, debug, debug, debug, error, error, error, error, error, getSimplifiedLogger, info, info, warn, warn, warn, warn, warn, warn, warn, warn
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
findSecurityProviderRegistrarBySecurityEntity, getBasePropertyName, getConfigurationPropertyName, getDefaultSecurityEntitySupportValue, getEffectiveSecurityEntityName, getParentPropertyResolver, isAllOptionsValue, isCertificateFactorySupported, isCipherSupported, isEnabled, isKeyAgreementSupported, isKeyFactorySupported, isKeyPairGeneratorSupported, isMacSupported, isMessageDigestSupported, isNamedProviderUsed, isSecurityEntitySupported, isSecurityEntitySupported, isSignatureSupported, registerSecurityProvider
createProviderInstance, getSecurityProvider, toSecurityProviderChoice, toSecurityProviderChoice
findByName, findFirstMatchByName, getNameList, getNames, ofName, removeByName, safeCompareByName
all, any, isSupported, of
getBoolean, getBooleanProperty, getCharset, getInteger, getIntProperty, getLong, getLongProperty, getObject, getString, getStringProperty, isEmpty, isEmpty
protected final AtomicReference<Provider> providerHolder
protected AbstractSecurityProviderRegistrar(String name)
public final String getName()
getName
in interface NamedResource
public Map<String,Object> getProperties()
PropertyResolver
A map of properties that can be used to configure the SSH server or client. This map will never be changed by either the server or client and is not supposed to be changed at runtime (changes are not bound to have any effect on a running client or server), though it may affect the creation of sessions later as these values are usually not cached.
Note: the type of the mapped property should match the expected configuration value type -
Long, Integer, Boolean,
String
, etc.... If it doesn't, the toString()
result of the mapped value is used to convert it to the
required type. E.g., if the mapped value is the string "1234" and the expected value is a
long
then it will be parsed into one. Also, if the mapped value is an Integer
but a long
is expected, then it will be converted into one.
getProperties
in interface PropertyResolver
getProperties
in interface SecurityProviderRegistrar
Map
containing configuration values, never null
. Note: may be
immutable.public boolean isSecurityEntitySupported(Class<?> entityType, String name)
isSecurityEntitySupported
in interface SecurityProviderRegistrar
protected Provider getOrCreateProvider(String providerClassName) throws ReflectiveOperationException
providerClassName
- The fully-qualified class name to instantiate if a provider not already
registeredProvider
instance - Note: the result is
cached - i.e., successful resolution result will not cause the code
to re-resolve the providerReflectiveOperationException
- If failed to instantiate the providerUnsupportedOperationException
- If registrar not supportedOptionalFeature.isSupported()
,
Security.getProvider(String)
,
createProviderInstance(String)
protected Provider createProviderInstance(String providerClassName) throws ReflectiveOperationException
ReflectiveOperationException
Copyright © 2008–2024 The Apache Software Foundation. All rights reserved.