Class JaxoDictionary


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

      Constructors 
      Constructor Description
      JaxoDictionary​(java.lang.Class<?> c)
      Create for the given class.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String label​(java.lang.String key)
      Translate 'key' as a label (typically, by appending ": " to the default translation).
      java.util.Locale locale()
      Locale corresponding to the current language.
      java.lang.String message​(java.lang.String key, java.lang.Object argument)
      Translates the given string into the current default language, interpolating a single argument.
      java.lang.String message​(java.lang.String key, java.lang.Object[] arguments)
      Translates the given string into the current default language, interpolating arguments.
      java.lang.String message​(java.lang.String key, java.lang.Object argument1, java.lang.Object argument2)
      Translates the given string into the current default language, interpolating two arguments.
      java.lang.String value​(java.lang.String key)
      Translates the given string into the current default language.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • JaxoDictionary

        public JaxoDictionary​(java.lang.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 Detail

      • locale

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

        public java.lang.String label​(java.lang.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 java.lang.String value​(java.lang.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 java.lang.String message​(java.lang.String key,
                                        java.lang.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 java.lang.String message​(java.lang.String key,
                                        java.lang.Object argument1,
                                        java.lang.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 java.lang.String message​(java.lang.String key,
                                        java.lang.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.