keycloak-service
公開メンバ関数 | 非公開変数類 | 全メンバ一覧
org.keycloak.theme.ExtendingThemeManager.ExtendingTheme クラス
org.keycloak.theme.ExtendingThemeManager.ExtendingTheme の継承関係図
Inheritance graph
org.keycloak.theme.ExtendingThemeManager.ExtendingTheme 連携図
Collaboration graph

公開メンバ関数

 ExtendingTheme (List< Theme > themes, Set< ThemeResourceProvider > themeResourceProviders)
 
String getName ()
 
String getParentName ()
 
String getImportName ()
 
Type getType ()
 
URL getTemplate (String name) throws IOException
 
InputStream getResourceAsStream (String path) throws IOException
 
Properties getMessages (Locale locale) throws IOException
 
Properties getMessages (String baseBundlename, Locale locale) throws IOException
 
Properties getProperties () throws IOException
 

非公開変数類

List< Theme > themes
 
Set< ThemeResourceProvider > themeResourceProviders
 
Properties properties
 
ConcurrentHashMap< String, ConcurrentHashMap< Locale, Properties > > messages = new ConcurrentHashMap<>()
 

詳解

構築子と解体子

◆ ExtendingTheme()

org.keycloak.theme.ExtendingThemeManager.ExtendingTheme.ExtendingTheme ( List< Theme >  themes,
Set< ThemeResourceProvider >  themeResourceProviders 
)
inline
183  {
184  this.themes = themes;
186  }
Set< ThemeResourceProvider > themeResourceProviders
Definition: ExtendingThemeManager.java:177
List< Theme > themes
Definition: ExtendingThemeManager.java:176

関数詳解

◆ getImportName()

String org.keycloak.theme.ExtendingThemeManager.ExtendingTheme.getImportName ( )
inline
199  {
200  return themes.get(0).getImportName();
201  }
List< Theme > themes
Definition: ExtendingThemeManager.java:176

◆ getMessages() [1/2]

Properties org.keycloak.theme.ExtendingThemeManager.ExtendingTheme.getMessages ( Locale  locale) throws IOException
inline
247  {
248  return getMessages("messages", locale);
249  }
Properties getMessages(Locale locale)
Definition: ExtendingThemeManager.java:247

◆ getMessages() [2/2]

Properties org.keycloak.theme.ExtendingThemeManager.ExtendingTheme.getMessages ( String  baseBundlename,
Locale  locale 
) throws IOException
inline
252  {
253  if (messages.get(baseBundlename) == null || messages.get(baseBundlename).get(locale) == null) {
254  Properties messages = new Properties();
255 
256  if (!Locale.ENGLISH.equals(locale)) {
257  messages.putAll(getMessages(baseBundlename, Locale.ENGLISH));
258  }
259 
260  ListIterator<Theme> itr = themes.listIterator(themes.size());
261  while (itr.hasPrevious()) {
262  Properties m = itr.previous().getMessages(baseBundlename, locale);
263  if (m != null) {
264  messages.putAll(m);
265  }
266  }
267 
268  this.messages.putIfAbsent(baseBundlename, new ConcurrentHashMap<Locale, Properties>());
269  this.messages.get(baseBundlename).putIfAbsent(locale, messages);
270 
271  return messages;
272  } else {
273  return messages.get(baseBundlename).get(locale);
274  }
275  }
ConcurrentHashMap< String, ConcurrentHashMap< Locale, Properties > > messages
Definition: ExtendingThemeManager.java:181
Properties getMessages(Locale locale)
Definition: ExtendingThemeManager.java:247
List< Theme > themes
Definition: ExtendingThemeManager.java:176

◆ getName()

String org.keycloak.theme.ExtendingThemeManager.ExtendingTheme.getName ( )
inline
189  {
190  return themes.get(0).getName();
191  }
List< Theme > themes
Definition: ExtendingThemeManager.java:176

◆ getParentName()

String org.keycloak.theme.ExtendingThemeManager.ExtendingTheme.getParentName ( )
inline
194  {
195  return themes.get(0).getParentName();
196  }
List< Theme > themes
Definition: ExtendingThemeManager.java:176

◆ getProperties()

Properties org.keycloak.theme.ExtendingThemeManager.ExtendingTheme.getProperties ( ) throws IOException
inline
278  {
279  if (properties == null) {
280  Properties properties = new Properties();
281  ListIterator<Theme> itr = themes.listIterator(themes.size());
282  while (itr.hasPrevious()) {
283  Properties p = itr.previous().getProperties();
284  if (p != null) {
285  properties.putAll(p);
286  }
287  }
288  this.properties = properties;
289  return properties;
290  } else {
291  return properties;
292  }
293  }
Properties properties
Definition: ExtendingThemeManager.java:179
List< Theme > themes
Definition: ExtendingThemeManager.java:176

◆ getResourceAsStream()

InputStream org.keycloak.theme.ExtendingThemeManager.ExtendingTheme.getResourceAsStream ( String  path) throws IOException
inline
228  {
229  for (Theme t : themes) {
230  InputStream resource = t.getResourceAsStream(path);
231  if (resource != null) {
232  return resource;
233  }
234  }
235 
236  for (ThemeResourceProvider t : themeResourceProviders) {
237  InputStream resource = t.getResourceAsStream(path);
238  if (resource != null) {
239  return resource;
240  }
241  }
242 
243  return null;
244  }
Set< ThemeResourceProvider > themeResourceProviders
Definition: ExtendingThemeManager.java:177
List< Theme > themes
Definition: ExtendingThemeManager.java:176

◆ getTemplate()

URL org.keycloak.theme.ExtendingThemeManager.ExtendingTheme.getTemplate ( String  name) throws IOException
inline
209  {
210  for (Theme t : themes) {
211  URL template = t.getTemplate(name);
212  if (template != null) {
213  return template;
214  }
215  }
216 
217  for (ThemeResourceProvider t : themeResourceProviders) {
218  URL template = t.getTemplate(name);
219  if (template != null) {
220  return template;
221  }
222  }
223 
224  return null;
225  }
Set< ThemeResourceProvider > themeResourceProviders
Definition: ExtendingThemeManager.java:177
List< Theme > themes
Definition: ExtendingThemeManager.java:176

◆ getType()

Type org.keycloak.theme.ExtendingThemeManager.ExtendingTheme.getType ( )
inline
204  {
205  return themes.get(0).getType();
206  }
List< Theme > themes
Definition: ExtendingThemeManager.java:176

メンバ詳解

◆ messages

ConcurrentHashMap<String, ConcurrentHashMap<Locale, Properties> > org.keycloak.theme.ExtendingThemeManager.ExtendingTheme.messages = new ConcurrentHashMap<>()
private

◆ properties

Properties org.keycloak.theme.ExtendingThemeManager.ExtendingTheme.properties
private

◆ themeResourceProviders

Set<ThemeResourceProvider> org.keycloak.theme.ExtendingThemeManager.ExtendingTheme.themeResourceProviders
private

◆ themes

List<Theme> org.keycloak.theme.ExtendingThemeManager.ExtendingTheme.themes
private

このクラス詳解は次のファイルから抽出されました: