com.atlassian.jira.web.bean
Class I18nBean.CachingFactory

java.lang.Object
  extended by com.atlassian.jira.web.bean.I18nBean.CachingFactory
All Implemented Interfaces:
Startable, I18nHelper.BeanFactory
Enclosing class:
I18nBean

public static class I18nBean.CachingFactory
extends Object
implements I18nHelper.BeanFactory, Startable

As the name implies: a factory that caches I18nBeans. With the advent of Plugins-2 we need to iterate through all enabled plugins and get their i18n resources when an I18nBean is constructed.

This factory was primarily created to make SAL's I18nResolver avoid having to do that iteration for every single string that needs to be internationalized. It can, obviously, be used in other contexts as well.


Constructor Summary
I18nBean.CachingFactory(JiraLocaleUtils jiraLocaleUtils, I18nTranslationMode i18nTranslationMode, com.atlassian.event.api.EventPublisher eventPublisher)
           
 
Method Summary
 I18nHelper getInstance(Locale locale)
          Returns an I18nHelper instance associated with the provided Locale.
 I18nHelper getInstance(com.atlassian.crowd.embedded.api.User user)
          Returns an I18nHelper instance associated with the provided User's locale preference.
 String getStateHashCode()
          An opaque string that changes whenever the underlying i18n bundles change (e.g.
 void pluginModuleDisabled(com.atlassian.plugin.event.events.PluginModuleDisabledEvent event)
           
 void pluginModuleEnabled(com.atlassian.plugin.event.events.PluginModuleEnabledEvent event)
           
 void pluginRefreshed(com.atlassian.plugin.event.events.PluginRefreshedEvent event)
           
 void start()
          This method wil be called after the plugin system is fully initialised and all components added to the dependency injection framework.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

I18nBean.CachingFactory

public I18nBean.CachingFactory(JiraLocaleUtils jiraLocaleUtils,
                               I18nTranslationMode i18nTranslationMode,
                               com.atlassian.event.api.EventPublisher eventPublisher)
Method Detail

pluginModuleDisabled

@EventListener
public void pluginModuleDisabled(com.atlassian.plugin.event.events.PluginModuleDisabledEvent event)

pluginModuleEnabled

@EventListener
public void pluginModuleEnabled(com.atlassian.plugin.event.events.PluginModuleEnabledEvent event)

pluginRefreshed

@EventListener
public void pluginRefreshed(com.atlassian.plugin.event.events.PluginRefreshedEvent event)

getInstance

public I18nHelper getInstance(Locale locale)
Description copied from interface: I18nHelper.BeanFactory
Returns an I18nHelper instance associated with the provided Locale. Note that since JIRA 6.0 you can have an I18nHelper injected directly into your class, and it will be specific to the currently logged in user.

Specified by:
getInstance in interface I18nHelper.BeanFactory
Parameters:
locale - the locale in play
Returns:
an I18nHelper instance associated with the provided Locale
See Also:
I18nHelper

getInstance

public I18nHelper getInstance(com.atlassian.crowd.embedded.api.User user)
Description copied from interface: I18nHelper.BeanFactory
Returns an I18nHelper instance associated with the provided User's locale preference. Note that since JIRA 6.0 you can have an I18nHelper injected directly into your class, and it will be specific to the currently logged in user.

Specified by:
getInstance in interface I18nHelper.BeanFactory
Parameters:
user - the user in play
Returns:
an I18nHelper instance associated with the provided User's locale preference
See Also:
I18nHelper

getStateHashCode

public String getStateHashCode()
An opaque string that changes whenever the underlying i18n bundles change (e.g. when a new translation pack in installed)


start

public void start()
Description copied from interface: Startable
This method wil be called after the plugin system is fully initialised and all components added to the dependency injection framework.

Specified by:
start in interface Startable


Copyright © 2002-2013 Atlassian. All Rights Reserved.