Enum I18nBundleScope

java.lang.Object
java.lang.Enum<I18nBundleScope>
org.nuiton.i18n.bundle.I18nBundleScope
All Implemented Interfaces:
Serializable, Comparable<I18nBundleScope>, java.lang.constant.Constable

public enum I18nBundleScope extends Enum<I18nBundleScope>
The enumaration defines the scope of a bundle entry. There is three scope possible:
  • GENERAL : for a bundle entry with no locale specialized information, eg : bundle.properties
  • LANGUAGE : for a bundle entry with language locale specialized information, eg : bundle-en.properties
  • FULL : for a bundle entry with full locale specialized information, eg : bundle-en_GB.properties
We define a order relation, from general to full scope : GENERAL < LANGUAGE < FULL Scopes are inclusives, in a search of entries, eg the search of en_GB will include en scope... The #patternAll is the searching pattern of bundle of the scope. The method getMatcher(String) obtain from the #patternAll the matcher for a bundle path. The method getLocale(Matcher) obtain from the #patternAll matched in a bundle path, the corresponding locale. The class offer also a static method valueOf(Locale) to obtain the scope of a locale.
Author:
Tony Chemit - chemit@codelutin.com
  • Enum Constant Details

    • GENERAL

      public static final I18nBundleScope GENERAL
      default scope (with no language, nor country information)
    • LANGUAGE

      public static final I18nBundleScope LANGUAGE
      language scope (no country information)
    • FULL

      public static final I18nBundleScope FULL
      full scope : language + country
  • Method Details

    • values

      public static I18nBundleScope[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      Returns:
      an array containing the constants of this enum type, in the order they are declared
    • valueOf

      public static I18nBundleScope valueOf(String name)
      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum type has no constant with the specified name
      NullPointerException - if the argument is null
    • valueOf

      public static I18nBundleScope valueOf(Locale locale)
      Obtain the scope of a given locale. The given locale can be null, which means GENERAL scope.
      Parameters:
      locale - given locale to convert
      Returns:
      the scope of given locale
    • getMatcher

      public Matcher getMatcher(String path)
      get a matcher fro the given path for this scope
      Parameters:
      path - the path to treate
      Returns:
      the bunle detect matcher
    • getLocale

      public abstract Locale getLocale(Matcher matcher)
      get the locale for a given matcher.
      Parameters:
      matcher - the scope matcher to use
      Returns:
      the locale
    • getBundlePrefix

      public String getBundlePrefix(Matcher matcher)
      Parameters:
      matcher - the scope matcher to use
      Returns:
      the prefix of the bundle