Class JaxoDictionary

java.lang.Object
net.sf.jaxodraw.util.JaxoDictionary

public class JaxoDictionary extends Object
Translation using JaxoLanguage within a given context (bundleID and/or prefix for the keys). All methods call eventually into JaxoLanguage.
  • Constructor Details

    • JaxoDictionary

      public JaxoDictionary(Class<?> c)
      Create for the given class. JaxoLanguage will be used to lookup the bundle containing the translations.
      Parameters:
      c - The class to register.
  • Method Details

    • locale

      public Locale locale()
      Locale corresponding to the current language.
      Returns:
      The current locale.
    • label

      public String label(String key)
      Translate 'key' as a label (typically, by appending ": " to the default translation).
      Parameters:
      key - The key to translate.
      Returns:
      The translation.
    • value

      public String value(String key)
      Translates the given string into the current default language.
      Parameters:
      key - The key to translate.
      Returns:
      The translated string, or an empty string if key itself is empty.
    • message

      public String message(String key, Object argument)
      Translates the given string into the current default language, interpolating a single argument. Equivalent to message(String,Object[]) with second argument new Object[] { argument }.
      Parameters:
      key - The key to translate.
      argument - An object.
      Returns:
      The translated string.
    • message

      public String message(String key, Object argument1, Object argument2)
      Translates the given string into the current default language, interpolating two arguments. Equivalent to message(String,Object[]) with second argument new Object[] { argument1, argument2 }.
      Parameters:
      key - The key to translate.
      argument1 - A first object.
      argument2 - A second object.
      Returns:
      The translated string.
    • message

      public String message(String key, Object[] arguments)
      Translates the given string into the current default language, interpolating arguments.

      If arguments is not empty, the translation of key is used as a MessageFormat pattern, the arguments array is then used as the argument for Format.format(Object).

      See the language.properties for notes on the parsing of MessageFormat patterns.

      If however, arguments is empty, the key translation is not parsed as MessageFormat pattern (That way, the message methods can be used generically.)

      By convention, the keys for MessageFormat pattern (and only them) contain percentage signs, followed by a number (starting from zero, as MessageFormat), to denote the occurrence of arguments (e.g. JaxoIO.read%0ReadFailed=File "{0}" could not be read.). Then:

      • In the properties file, it is clear from the key whether the value is a MessageFormat pattern or a plain String.
      • In the java source, one can see whether the actual number of arguments matches the expected one (e.g. message("JaxoIO.read%0ReadFailed", new Object[] { a, b}); can be seen to be incorrect.
      Parameters:
      key - The key to translate.
      arguments - An array of objects (arguments for MessageFormat).
      Returns:
      The translated string.