Package org.keycloak.models.map.common
Class AbstractMapProviderFactory<T extends Provider,V extends AbstractEntity,M>
- java.lang.Object
-
- org.keycloak.models.map.common.AbstractMapProviderFactory<T,V,M>
-
- All Implemented Interfaces:
AmphibianProviderFactory<T>
,ComponentFactory<T,T>
,ConfiguredProvider
,EnvironmentDependentProviderFactory
,ProviderFactory<T>
- Direct Known Subclasses:
MapClientProviderFactory
,MapClientScopeProviderFactory
,MapGlobalLockProviderFactory
,MapGroupProviderFactory
,MapPublicKeyStorageProviderFactory
,MapRealmProviderFactory
,MapRoleProviderFactory
,MapRootAuthenticationSessionProviderFactory
,MapSingleUseObjectProviderFactory
,MapUserLoginFailureProviderFactory
,MapUserProviderFactory
,MapUserSessionProviderFactory
public abstract class AbstractMapProviderFactory<T extends Provider,V extends AbstractEntity,M> extends Object implements AmphibianProviderFactory<T>, EnvironmentDependentProviderFactory
- Author:
- hmlnarik
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
AbstractMapProviderFactory.MapProviderObjectType
-
Field Summary
Fields Modifier and Type Field Description static String
CONFIG_STORAGE
protected org.jboss.logging.Logger
LOG
protected Class<M>
modelType
static String
PROVIDER_ID
static AtomicInteger
uniqueCounter
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractMapProviderFactory(Class<M> modelType, Class<T> providerType)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description T
create(KeycloakSession session)
Returns instance of a provider.abstract T
createNew(KeycloakSession session)
Creates new instance of a provider.String
getId()
MapStorage<V,M>
getMapStorage(KeycloakSession session)
static ProviderFactory<MapStorageProvider>
getProviderFactoryOrComponentFactory(KeycloakSession session, Config.Scope storageConfigScope)
void
init(Config.Scope config)
Only called once when the factory is first created.boolean
isSupported()
void
postInit(KeycloakSessionFactory factory)
Called after all provider factories have been initialized-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.keycloak.component.AmphibianProviderFactory
close, create, getConfigProperties, onUpdate, preRemove
-
Methods inherited from interface org.keycloak.component.ComponentFactory
getCommonProviderConfigProperties, getTypeMetadata, onCreate, validateConfiguration
-
Methods inherited from interface org.keycloak.provider.ConfiguredProvider
getConfig, getHelpText
-
Methods inherited from interface org.keycloak.provider.EnvironmentDependentProviderFactory
isSupported
-
Methods inherited from interface org.keycloak.provider.ProviderFactory
getConfigMetadata, order
-
-
-
-
Field Detail
-
PROVIDER_ID
public static final String PROVIDER_ID
- See Also:
- Constant Field Values
-
CONFIG_STORAGE
public static final String CONFIG_STORAGE
- See Also:
- Constant Field Values
-
LOG
protected final org.jboss.logging.Logger LOG
-
uniqueCounter
public static final AtomicInteger uniqueCounter
-
-
Method Detail
-
createNew
public abstract T createNew(KeycloakSession session)
Creates new instance of a provider.- Parameters:
session
-- Returns:
- See description.
-
create
public T create(KeycloakSession session)
Returns instance of a provider. If the instance is already created within the session (it's found in session attributes), it's returned from there, otherwise new instance is created (and stored among the session attributes).- Specified by:
create
in interfaceAmphibianProviderFactory<T extends Provider>
- Specified by:
create
in interfaceComponentFactory<T extends Provider,V extends AbstractEntity>
- Specified by:
create
in interfaceProviderFactory<T extends Provider>
- Parameters:
session
-- Returns:
- See description.
-
getId
public String getId()
- Specified by:
getId
in interfaceProviderFactory<T extends Provider>
-
getMapStorage
public MapStorage<V,M> getMapStorage(KeycloakSession session)
-
getProviderFactoryOrComponentFactory
public static ProviderFactory<MapStorageProvider> getProviderFactoryOrComponentFactory(KeycloakSession session, Config.Scope storageConfigScope)
-
postInit
public void postInit(KeycloakSessionFactory factory)
Description copied from interface:ProviderFactory
Called after all provider factories have been initialized- Specified by:
postInit
in interfaceProviderFactory<T extends Provider>
-
init
public void init(Config.Scope config)
Description copied from interface:ProviderFactory
Only called once when the factory is first created. This config is pulled from keycloak_server.json- Specified by:
init
in interfaceProviderFactory<T extends Provider>
-
isSupported
public boolean isSupported()
- Specified by:
isSupported
in interfaceEnvironmentDependentProviderFactory
- Returns:
true
if the provider is supported and should be available,false
otherwise
-
-