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 |
logALL_OPTIONS_VALUE, ALL_OPTIONS_WILDCARD, CONFIG_PROP_BASE, ENABLED_PROPERTY, NAMED_PROVIDER_PROPERTY, NO_OPTIONS_VALUE, SECURITY_ENTITIESEMPTYBY_NAME_COMPARATOR, NAME_EXTRACTORFALSE, TRUEEMPTY| 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() |
getSimplifiedLoggerclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitfindSecurityProviderRegistrarBySecurityEntity, getBasePropertyName, getConfigurationPropertyName, getDefaultSecurityEntitySupportValue, getEffectiveSecurityEntityName, getParentPropertyResolver, isAllOptionsValue, isCertificateFactorySupported, isCipherSupported, isEnabled, isKeyAgreementSupported, isKeyFactorySupported, isKeyPairGeneratorSupported, isMacSupported, isMessageDigestSupported, isNamedProviderUsed, isSecurityEntitySupported, isSecurityEntitySupported, isSignatureSupported, registerSecurityProvidercreateProviderInstance, getSecurityProvider, toSecurityProviderChoice, toSecurityProviderChoicefindByName, getNameList, getNames, removeByNameall, any, isSupported, ofgetBoolean, getBooleanProperty, getInteger, getIntProperty, getLong, getLongProperty, getObject, getString, getStringPropertyprotected final AtomicReference<Provider> providerHolder
protected AbstractSecurityProviderRegistrar(String name)
public final String getName()
getName in interface NamedResourcepublic Map<String,Object> getProperties()
PropertyResolverA 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 PropertyResolvergetProperties in interface SecurityProviderRegistrarMap containing configuration values, never
nullpublic boolean isSecurityEntitySupported(Class<?> entityType, String name)
isSecurityEntitySupported in interface SecurityProviderRegistrarprotected 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
ReflectiveOperationExceptionCopyright © 2008–2017 The Apache Software Foundation. All rights reserved.