Class IndexedResourceBundle

  • Direct Known Subclasses:
    Descriptions, Logging, Loggings, Vocabulary, Vocabulary

    public class IndexedResourceBundle
    extends ResourceBundle
    ResourceBundle implementation using integers instead of strings for resource keys. Because it doesn't use strings, this implementation avoids adding all those string constants to .class files and runtime images. Developers still have meaningful labels in their code (e.g. DIMENSION_MISMATCH) through a set of constants defined in interfaces. This approach furthermore gives the benefit of compile-time safety. Because integer constants are inlined right into class files at compile time, the declarative interface is never loaded at run time. This class also provides facilities for string formatting using MessageFormat.
    Since:
    2.4
    Author:
    Martin Desruisseaux (IRD)
    • Constructor Detail

      • IndexedResourceBundle

        protected IndexedResourceBundle()
        Constructs a new resource bundle. The resource filename will be inferred from the fully qualified classname of this IndexedResourceBundle subclass.
      • IndexedResourceBundle

        protected IndexedResourceBundle​(String filename)
        Constructs a new resource bundle.
        Parameters:
        filename - The resource name containing resources. It may be a filename or an entry in a JAR file.
    • Method Detail

      • list

        public final void list​(Writer out)
                        throws IOException
        Lists resources to the specified stream. If a resource has more than one line, only the first line will be written. This method is used mostly for debugging purposes.
        Parameters:
        out - The destination stream.
        Throws:
        IOException - if an output operation failed.
      • handleGetObject

        protected final Object handleGetObject​(String key)
        Gets an object for the given key from this resource bundle. Returns null if this resource bundle does not contain an object for the given key.
        Specified by:
        handleGetObject in class ResourceBundle
        Parameters:
        key - the key for the desired object
        Returns:
        the object for the given key, or null
        Throws:
        NullPointerException - if key is null
      • getMenuLabel

        public final String getMenuLabel​(int key)
                                  throws MissingResourceException
        Gets a string for the given key and appends "..." to it. This method is typically used for creating menu items.
        Parameters:
        key - The key for the desired string.
        Returns:
        The string for the given key.
        Throws:
        MissingResourceException - If no object for the given key can be found.
      • getLabel

        public final String getLabel​(int key)
                              throws MissingResourceException
        Gets a string for the given key and appends ": " to it. This method is typically used for creating labels.
        Parameters:
        key - The key for the desired string.
        Returns:
        The string for the given key.
        Throws:
        MissingResourceException - If no object for the given key can be found.
      • getString

        public final String getString​(int key)
                               throws MissingResourceException
        Gets a string for the given key from this resource bundle or one of its parents.
        Parameters:
        key - The key for the desired string.
        Returns:
        The string for the given key.
        Throws:
        MissingResourceException - If no object for the given key can be found.
      • getString

        public final String getString​(int key,
                                      Object arg0,
                                      Object arg1)
                               throws MissingResourceException
        Gets a string for the given key and replaces all occurrences of "{0}", "{1}", with values of arg0, arg1, etc.
        Parameters:
        key - The key for the desired string.
        arg0 - Value to substitute for "{0}".
        arg1 - Value to substitute for "{1}".
        Returns:
        The formatted string for the given key.
        Throws:
        MissingResourceException - If no object for the given key can be found.
      • getString

        public final String getString​(int key,
                                      Object arg0,
                                      Object arg1,
                                      Object arg2)
                               throws MissingResourceException
        Gets a string for the given key and replaces all occurrences of "{0}", "{1}", with values of arg0, arg1, etc.
        Parameters:
        key - The key for the desired string.
        arg0 - Value to substitute for "{0}".
        arg1 - Value to substitute for "{1}".
        arg2 - Value to substitute for "{2}".
        Returns:
        The formatted string for the given key.
        Throws:
        MissingResourceException - If no object for the given key can be found.
      • getString

        public final String getString​(int key,
                                      Object arg0,
                                      Object arg1,
                                      Object arg2,
                                      Object arg3)
                               throws MissingResourceException
        Gets a string for the given key and replaces all occurrences of "{0}", "{1}", with values of arg0, arg1, etc.
        Parameters:
        key - The key for the desired string.
        arg0 - Value to substitute for "{0}".
        arg1 - Value to substitute for "{1}".
        arg2 - Value to substitute for "{2}".
        arg3 - Value to substitute for "{3}".
        Returns:
        The formatted string for the given key.
        Throws:
        MissingResourceException - If no object for the given key can be found.
      • getString

        public final String getString​(int key,
                                      Object arg0,
                                      Object arg1,
                                      Object arg2,
                                      Object arg3,
                                      Object arg4)
                               throws MissingResourceException
        Gets a string for the given key and replaces all occurrences of "{0}", "{1}", with values of arg0, arg1, etc.
        Parameters:
        key - The key for the desired string.
        arg0 - Value to substitute for "{0}".
        arg1 - Value to substitute for "{1}".
        arg2 - Value to substitute for "{2}".
        arg3 - Value to substitute for "{3}".
        arg4 - Value to substitute for "{4}".
        Returns:
        The formatted string for the given key.
        Throws:
        MissingResourceException - If no object for the given key can be found.
      • getLogRecord

        public LogRecord getLogRecord​(Level level,
                                      int key)
        Gets a localized log record.
        Parameters:
        level - The log record level.
        key - The resource key.
        Returns:
        The log record.
      • getLogRecord

        public LogRecord getLogRecord​(Level level,
                                      int key,
                                      Object arg0)
        Gets a localized log record.
        Parameters:
        level - The log record level.
        key - The resource key.
        arg0 - The parameter for the log message, or null.
        Returns:
        The log record.
      • getLogRecord

        public LogRecord getLogRecord​(Level level,
                                      int key,
                                      Object arg0,
                                      Object arg1)
        Gets a localized log record.
        Parameters:
        level - The log record level.
        key - The resource key.
        arg0 - The first parameter.
        arg1 - The second parameter.
        Returns:
        The log record.
      • getLogRecord

        public LogRecord getLogRecord​(Level level,
                                      int key,
                                      Object arg0,
                                      Object arg1,
                                      Object arg2)
        Gets a localized log record.
        Parameters:
        level - The log record level.
        key - The resource key.
        arg0 - The first parameter.
        arg1 - The second parameter.
        arg2 - The third parameter.
        Returns:
        The log record.
      • getLogRecord

        public LogRecord getLogRecord​(Level level,
                                      int key,
                                      Object arg0,
                                      Object arg1,
                                      Object arg2,
                                      Object arg3)
        Gets a localized log record.
        Parameters:
        level - The log record level.
        key - The resource key.
        arg0 - The first parameter.
        arg1 - The second parameter.
        arg2 - The third parameter.
        arg3 - The fourth parameter.
        Returns:
        The log record.
      • toString

        public String toString()
        Returns a string representation of this object. This method is for debugging purposes only.
        Overrides:
        toString in class Object