Class ResourceBundleManager

java.lang.Object
com.dlsc.gemsfx.util.ResourceBundleManager

public class ResourceBundleManager extends Object
This class provides a centralized mechanism to retrieve localized strings from property files based on the current locale settings. It caches the resource bundles to avoid repetitive and unnecessary loading of the properties files.

Usage involves retrieving strings via base names of the resource bundles or by using predefined types which represent specific views or components in the application.

  • Method Details

    • getBundle

      public static ResourceBundle getBundle(String baseName)
      Retrieves the resource bundle for the specified base name and the current application locale. This method will return a cached bundle if it exists, or load a new bundle if it does not.
      Parameters:
      baseName - the base name of the resource bundle.
      Returns:
      the requested resource bundle.
    • getBundle

      public static ResourceBundle getBundle(ResourceBundleManager.BundleType bundleType)
      Retrieves the resource bundle for the specified bundle type and the current application locale.
      Parameters:
      bundleType - the bundle type
      Returns:
      the requested resource bundle
    • getBundle

      @Deprecated public static ResourceBundle getBundle(ResourceBundleManager.Type type)
      Deprecated.
      Retrieves the resource bundle for the specified deprecated type and the current application locale.
      Parameters:
      type - the deprecated bundle type
      Returns:
      the requested resource bundle
    • setLocale

      public static void setLocale(Locale locale)
      Sets the current locale of the application. If the locale is changed, the method clears the cache of loaded resource bundles.
      Parameters:
      locale - the new locale to set as the current.
    • getLocale

      public static Locale getLocale()
      Returns the current locale used to load resource bundles.
      Returns:
      the current locale
    • getString

      public static String getString(String baseName, String key)
      Retrieves a localized string from the resource bundle specified by the base name. If the key is not found, it logs a warning and returns the key itself.
      Parameters:
      baseName - the base name of the resource bundle.
      key - the key for the desired string in the bundle.
      Returns:
      the localized string.
    • getString

      public static String getString(String baseName, String key, String fallbackValue)
      Retrieves a localized string from the resource bundle specified by the base name. If the key is not found, it logs a warning and returns the provided fallback value.
      Parameters:
      baseName - the base name of the resource bundle.
      key - the key for the desired string in the bundle.
      fallbackValue - the fallback value used when the key or bundle is missing.
      Returns:
      the localized string or fallback value.
    • getString

      public static String getString(ResourceBundleManager.BundleType bundleType, String key)
      Retrieves a localized string from the resource bundle associated with a given bundle type.
      Parameters:
      bundleType - the type of the resource bundle.
      key - the key for the desired string in the bundle.
      Returns:
      the localized string.
    • getString

      public static String getString(ResourceBundleManager.BundleType bundleType, String key, String fallbackValue)
      Retrieves a localized string from the resource bundle associated with a given bundle type.
      Parameters:
      bundleType - the type of the resource bundle.
      key - the key for the desired string in the bundle.
      fallbackValue - the fallback value used when the key or bundle is missing.
      Returns:
      the localized string or fallback value.
    • getString

      @Deprecated public static String getString(ResourceBundleManager.Type type, String key)
      Deprecated.
      Retrieves a localized string from the resource bundle associated with a deprecated type.
      Parameters:
      type - the deprecated bundle type
      key - the key for the desired string in the bundle
      Returns:
      the localized string, or the key if it is missing
    • getString

      @Deprecated public static String getString(ResourceBundleManager.Type type, String key, String fallbackValue)
      Deprecated.
      Retrieves a localized string from the resource bundle associated with a deprecated type.
      Parameters:
      type - the deprecated bundle type
      key - the key for the desired string in the bundle
      fallbackValue - the fallback value used when the key or bundle is missing
      Returns:
      the localized string, or the fallback value if it is missing
    • format

      public static String format(ResourceBundleManager.BundleType bundleType, String key, Object... args)
      Formats the localized string for the given bundle type and key with MessageFormat.
      Parameters:
      bundleType - the bundle type
      key - the resource key
      args - the arguments inserted into the localized pattern
      Returns:
      the formatted localized string
    • format

      public static String format(String baseName, String key, Object... args)
      Formats the localized string for the given base name and key with MessageFormat.
      Parameters:
      baseName - the base name of the resource bundle
      key - the resource key
      args - the arguments inserted into the localized pattern
      Returns:
      the formatted localized string