Package org.keycloak.component
Interface AmphibianProviderFactory<ProviderType extends Provider>
- All Superinterfaces:
ComponentFactory<ProviderType,
,ProviderType> ConfiguredProvider
,ProviderFactory<ProviderType>
- All Known Implementing Classes:
AbstractMapProviderFactory
,ConcurrentHashMapStorageProviderFactory
,DeclarativeUserProfileProvider
,FileMapStorageProviderFactory
,HotRodMapStorageProviderFactory
,JpaMapStorageProviderFactory
,LdapMapStorageProviderFactory
,MapAuthorizationStoreFactory
,MapClientProviderFactory
,MapClientScopeProviderFactory
,MapEventStoreProviderFactory
,MapGlobalLockProviderFactory
,MapGroupProviderFactory
,MapPublicKeyStorageProviderFactory
,MapRealmProviderFactory
,MapRoleProviderFactory
,MapRootAuthenticationSessionProviderFactory
,MapSingleUseObjectProviderFactory
,MapUserLoginFailureProviderFactory
,MapUserProviderFactory
,MapUserSessionProviderFactory
public interface AmphibianProviderFactory<ProviderType extends Provider>
extends ProviderFactory<ProviderType>, ComponentFactory<ProviderType,ProviderType>
Ancestor for a provider factory for both a standalone
ProviderFactory
and a ComponentFactory
. It
behaves as usual for a standalone provider, and for a component creates a factory customized according to
configuration of this component. The component creation then behaves in the same way as if it was
a standalone component, i.e.:
- The component-specific factory is initialized via
ProviderFactory.init(org.keycloak.Config.Scope)
method where the configuration is taken from the component configuration, converted into aConfig.Scope
. The component configuration takes precedence over configuration of the provider factory. - Creation of the instances is done via standard
create(KeycloakSession)
method even for components, since there is now a specific factory per component. - Component-specific factories are cached inside the provider factory similarly to how provider factories are cached in the session factory.
- Author:
- hmlnarik
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptiondefault void
close()
This is called when the server shuts down.create
(KeycloakSession session) default ProviderType
create
(KeycloakSession session, ComponentModel model) Deprecated.default List<ProviderConfigProperty>
default void
onUpdate
(KeycloakSession session, RealmModel realm, ComponentModel oldModel, ComponentModel newModel) Called after the component is updated.default void
preRemove
(KeycloakSession session, RealmModel realm, ComponentModel model) Called before the component is removed.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.ProviderFactory
getConfigMetadata, getId, init, order, postInit
-
Method Details
-
create
- Specified by:
create
in interfaceComponentFactory<ProviderType extends Provider,
ProviderType extends Provider> - Specified by:
create
in interfaceProviderFactory<ProviderType extends Provider>
-
create
Deprecated.- Specified by:
create
in interfaceComponentFactory<ProviderType extends Provider,
ProviderType extends Provider>
-
getConfigProperties
- Specified by:
getConfigProperties
in interfaceConfiguredProvider
-
onUpdate
default void onUpdate(KeycloakSession session, RealmModel realm, ComponentModel oldModel, ComponentModel newModel) Description copied from interface:ComponentFactory
Called after the component is updated.- Specified by:
onUpdate
in interfaceComponentFactory<ProviderType extends Provider,
ProviderType extends Provider> oldModel
- old saved modelnewModel
- new configuration
-
preRemove
Description copied from interface:ComponentFactory
Called before the component is removed.- Specified by:
preRemove
in interfaceComponentFactory<ProviderType extends Provider,
ProviderType extends Provider> model
- model of the component, which is going to be removed
-
close
default void close()Description copied from interface:ProviderFactory
This is called when the server shuts down.- Specified by:
close
in interfaceProviderFactory<ProviderType extends Provider>
-