Package org.keycloak.theme
Class ClasspathThemeResourceProviderFactory
- java.lang.Object
-
- org.keycloak.theme.ClasspathThemeResourceProviderFactory
-
- All Implemented Interfaces:
Provider,ProviderFactory<ThemeResourceProvider>,ThemeResourceProvider,ThemeResourceProviderFactory
public class ClasspathThemeResourceProviderFactory extends Object implements ThemeResourceProviderFactory, ThemeResourceProvider
-
-
Field Summary
Fields Modifier and Type Field Description protected ClassLoaderclassLoaderstatic StringTHEME_RESOURCESstatic StringTHEME_RESOURCES_MESSAGESstatic StringTHEME_RESOURCES_RESOURCESstatic StringTHEME_RESOURCES_TEMPLATES
-
Constructor Summary
Constructors Constructor Description ClasspathThemeResourceProviderFactory()ClasspathThemeResourceProviderFactory(String id, ClassLoader classLoader)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()This is called when the server shuts down.ThemeResourceProvidercreate(KeycloakSession session)StringgetId()PropertiesgetMessages(String baseBundlename, Locale locale)Load the message bundle for the specific name and localeInputStreamgetResourceAsStream(String path)Load the resource for the specific pathprotected InputStreamgetResourceAsStream(String path, URL rootResourceURL)URLgetTemplate(String name)Load the template for the specific namevoidinit(Config.Scope config)Only called once when the factory is first created.protected voidloadMessages(Properties messages, URL resource)voidpostInit(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.provider.ProviderFactory
getConfigMetadata, order
-
-
-
-
Field Detail
-
THEME_RESOURCES
public static final String THEME_RESOURCES
- See Also:
- Constant Field Values
-
THEME_RESOURCES_TEMPLATES
public static final String THEME_RESOURCES_TEMPLATES
- See Also:
- Constant Field Values
-
THEME_RESOURCES_RESOURCES
public static final String THEME_RESOURCES_RESOURCES
- See Also:
- Constant Field Values
-
THEME_RESOURCES_MESSAGES
public static final String THEME_RESOURCES_MESSAGES
- See Also:
- Constant Field Values
-
classLoader
protected final ClassLoader classLoader
-
-
Constructor Detail
-
ClasspathThemeResourceProviderFactory
public ClasspathThemeResourceProviderFactory()
-
ClasspathThemeResourceProviderFactory
public ClasspathThemeResourceProviderFactory(String id, ClassLoader classLoader)
-
-
Method Detail
-
create
public ThemeResourceProvider create(KeycloakSession session)
- Specified by:
createin interfaceProviderFactory<ThemeResourceProvider>
-
getTemplate
public URL getTemplate(String name) throws IOException
Description copied from interface:ThemeResourceProviderLoad the template for the specific name- Specified by:
getTemplatein interfaceThemeResourceProvider- Parameters:
name- the template name- Returns:
- the URL of the template, or null if the template is unknown
- Throws:
IOException
-
getResourceAsStream
public InputStream getResourceAsStream(String path) throws IOException
Description copied from interface:ThemeResourceProviderLoad the resource for the specific path- Specified by:
getResourceAsStreamin interfaceThemeResourceProvider- Parameters:
path- the resource path- Returns:
- an InputStream to read the resource, or null if the resource is unknown
- Throws:
IOException
-
getResourceAsStream
protected InputStream getResourceAsStream(String path, URL rootResourceURL) throws IOException
- Throws:
IOException
-
getMessages
public Properties getMessages(String baseBundlename, Locale locale) throws IOException
Description copied from interface:ThemeResourceProviderLoad the message bundle for the specific name and locale- Specified by:
getMessagesin interfaceThemeResourceProvider- Parameters:
baseBundlename- The base name of the bundle, such as "messages" in messages_en.properties.locale- The locale of the desired message bundle.- Returns:
- The localized messages from the bundle.
- Throws:
IOException- If bundle can not be read.
-
loadMessages
protected void loadMessages(Properties messages, URL resource) throws IOException
- Throws:
IOException
-
getId
public String getId()
- Specified by:
getIdin interfaceProviderFactory<ThemeResourceProvider>
-
init
public void init(Config.Scope config)
Description copied from interface:ProviderFactoryOnly called once when the factory is first created. This config is pulled from keycloak_server.json- Specified by:
initin interfaceProviderFactory<ThemeResourceProvider>
-
postInit
public void postInit(KeycloakSessionFactory factory)
Description copied from interface:ProviderFactoryCalled after all provider factories have been initialized- Specified by:
postInitin interfaceProviderFactory<ThemeResourceProvider>
-
close
public void close()
Description copied from interface:ProviderFactoryThis is called when the server shuts down.- Specified by:
closein interfaceProvider- Specified by:
closein interfaceProviderFactory<ThemeResourceProvider>
-
-