Package org.keycloak.component
Interface AmphibianProviderFactory<ProviderType extends org.keycloak.provider.Provider>
- All Superinterfaces:
org.keycloak.component.ComponentFactory<ProviderType,,ProviderType> org.keycloak.provider.ConfiguredProvider,org.keycloak.provider.ProviderFactory<ProviderType>
public interface AmphibianProviderFactory<ProviderType extends org.keycloak.provider.Provider>
extends org.keycloak.provider.ProviderFactory<ProviderType>, org.keycloak.component.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 voidclose()create(org.keycloak.models.KeycloakSession session) default ProviderTypecreate(org.keycloak.models.KeycloakSession session, org.keycloak.component.ComponentModel model) Deprecated.default List<org.keycloak.provider.ProviderConfigProperty>default voidonUpdate(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, org.keycloak.component.ComponentModel oldModel, org.keycloak.component.ComponentModel newModel) default voidpreRemove(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, org.keycloak.component.ComponentModel model) Methods inherited from interface org.keycloak.component.ComponentFactory
getCommonProviderConfigProperties, getTypeMetadata, isInternal, onCreate, validateConfigurationMethods inherited from interface org.keycloak.provider.ConfiguredProvider
getConfig, getHelpTextMethods inherited from interface org.keycloak.provider.ProviderFactory
dependsOn, getConfigMetadata, getId, init, order, postInit
-
Method Details
-
create
- Specified by:
createin interfaceorg.keycloak.component.ComponentFactory<ProviderType extends org.keycloak.provider.Provider,ProviderType extends org.keycloak.provider.Provider> - Specified by:
createin interfaceorg.keycloak.provider.ProviderFactory<ProviderType extends org.keycloak.provider.Provider>
-
create
@Deprecated default ProviderType create(org.keycloak.models.KeycloakSession session, org.keycloak.component.ComponentModel model) Deprecated.- Specified by:
createin interfaceorg.keycloak.component.ComponentFactory<ProviderType extends org.keycloak.provider.Provider,ProviderType extends org.keycloak.provider.Provider>
-
getConfigProperties
- Specified by:
getConfigPropertiesin interfaceorg.keycloak.provider.ConfiguredProvider
-
onUpdate
default void onUpdate(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, org.keycloak.component.ComponentModel oldModel, org.keycloak.component.ComponentModel newModel) - Specified by:
onUpdatein interfaceorg.keycloak.component.ComponentFactory<ProviderType extends org.keycloak.provider.Provider,ProviderType extends org.keycloak.provider.Provider>
-
preRemove
default void preRemove(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, org.keycloak.component.ComponentModel model) - Specified by:
preRemovein interfaceorg.keycloak.component.ComponentFactory<ProviderType extends org.keycloak.provider.Provider,ProviderType extends org.keycloak.provider.Provider>
-
close
default void close()- Specified by:
closein interfaceorg.keycloak.provider.ProviderFactory<ProviderType extends org.keycloak.provider.Provider>
-