keycloak
公開メンバ関数 | 非公開変数類 | 全メンバ一覧
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< Themethemes
 
Set< ThemeResourceProviderthemeResourceProviders
 
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

org.keycloak.theme.Themeを実装しています。

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

org.keycloak.theme.Themeを実装しています。

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

org.keycloak.theme.Themeを実装しています。

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  }
Properties getMessages(Locale locale)
Definition: ExtendingThemeManager.java:247
List< Theme > themes
Definition: ExtendingThemeManager.java:176
ConcurrentHashMap< String, ConcurrentHashMap< Locale, Properties > > messages
Definition: ExtendingThemeManager.java:181

◆ getName()

String org.keycloak.theme.ExtendingThemeManager.ExtendingTheme.getName ( )
inline

org.keycloak.theme.Themeを実装しています。

189  {
190  return themes.get(0).getName();
191  }
List< Theme > themes
Definition: ExtendingThemeManager.java:176

◆ getParentName()

String org.keycloak.theme.ExtendingThemeManager.ExtendingTheme.getParentName ( )
inline

org.keycloak.theme.Themeを実装しています。

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

org.keycloak.theme.Themeを実装しています。

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

org.keycloak.theme.Themeを実装しています。

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

org.keycloak.theme.Themeを実装しています。

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

org.keycloak.theme.Themeを実装しています。

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

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