Class ListResourceBundle

java.lang.Object
java.util.ResourceBundle
java.util.ListResourceBundle
Direct Known Subclasses:
AccessibleResourceBundle

public abstract class ListResourceBundle extends ResourceBundle
ListResourceBundle is an abstract subclass of ResourceBundle that manages resources for a locale in a convenient and easy to use list. See ResourceBundle for more information about resource bundles in general.

Subclasses must override getContents and provide an array, where each item in the array is a pair of objects. The first element of each pair is the key, which must be a String, and the second element is the value associated with that key.

The following example shows two members of a resource bundle family with the base name "MyResources". "MyResources" is the default member of the bundle family, and "MyResources_fr" is the French member. These members are based on ListResourceBundle (a related example shows how you can add a bundle to this family that's based on a properties file). The keys in this example are of the form "s1" etc. The actual keys are entirely up to your choice, so long as they are the same as the keys you use in your program to retrieve the objects from the bundle. Keys are case-sensitive.


public class MyResources extends ListResourceBundle {
    protected Object[][] getContents() {
        return new Object[][] {
        // LOCALIZE THIS
            {"s1", "The disk \"{1}\" contains {0}."},  // MessageFormat pattern
            {"s2", "1"},                               // location of {0} in pattern
            {"s3", "My Disk"},                         // sample disk name
            {"s4", "no files"},                        // first ChoiceFormat choice
            {"s5", "one file"},                        // second ChoiceFormat choice
            {"s6", "{0,number} files"},                // third ChoiceFormat choice
            {"s7", "3 Mar 96"},                        // sample date
            {"s8", new Dimension(1,5)}                 // real object, not just string
        // END OF MATERIAL TO LOCALIZE
        };
    }
}

public class MyResources_fr extends ListResourceBundle {
    protected Object[][] getContents() {
        return new Object[][] {
        // LOCALIZE THIS
            {"s1", "Le disque \"{1}\" {0}."},          // MessageFormat pattern
            {"s2", "1"},                               // location of {0} in pattern
            {"s3", "Mon disque"},                      // sample disk name
            {"s4", "ne contient pas de fichiers"},     // first ChoiceFormat choice
            {"s5", "contient un fichier"},             // second ChoiceFormat choice
            {"s6", "contient {0,number} fichiers"},    // third ChoiceFormat choice
            {"s7", "3 mars 1996"},                     // sample date
            {"s8", new Dimension(1,3)}                 // real object, not just string
        // END OF MATERIAL TO LOCALIZE
        };
    }
}

The implementation of a ListResourceBundle subclass must be thread-safe if it's simultaneously used by multiple threads. The default implementations of the methods in this class are thread-safe.

Since:
1.1
See Also:
  • Nested Class Summary

    Nested classes/interfaces declared in class ResourceBundle

    ResourceBundle.Control
    Modifier and Type
    Class
    Description
    static class 
    ResourceBundle.Control defines a set of callback methods that are invoked by the ResourceBundle.getBundle factory methods during the bundle loading process.
  • Field Summary

    Fields declared in class ResourceBundle

    parent
    Modifier and Type
    Field
    Description
    protected ResourceBundle
    The parent bundle of this bundle.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Sole constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected abstract Object[][]
    Returns an array in which each item is a pair of objects in an Object array.
    Returns an Enumeration of the keys contained in this ResourceBundle and its parent bundles.
    final Object
    Gets an object for the given key from this resource bundle.
    protected Set<String>
    Returns a Set of the keys contained only in this ResourceBundle.

    Methods declared in class ResourceBundle

    clearCache, clearCache, containsKey, getBaseBundleName, getBundle, getBundle, getBundle, getBundle, getBundle, getBundle, getBundle, getBundle, getLocale, getObject, getString, getStringArray, keySet, setParent
    Modifier and Type
    Method
    Description
    static final void
    Removes all resource bundles from the cache that have been loaded by the caller's module.
    static final void
    Removes all resource bundles from the cache that have been loaded by the given class loader.
    boolean
    Determines whether the given key is contained in this ResourceBundle or its parent bundles.
    Returns the base name of this bundle, if known, or null if unknown.
    static final ResourceBundle
    getBundle(String baseName)
    Gets a resource bundle using the specified base name, the default locale, and the caller module.
    getBundle(String baseName, Module module)
    Gets a resource bundle using the specified base name and the default locale on behalf of the specified module.
    static final ResourceBundle
    getBundle(String baseName, Locale locale)
    Gets a resource bundle using the specified base name and locale, and the caller module.
    getBundle(String baseName, Locale locale, ClassLoader loader)
    Gets a resource bundle using the specified base name, locale, and class loader.
    getBundle(String baseName, Locale targetLocale, ClassLoader loader, ResourceBundle.Control control)
    Returns a resource bundle using the specified base name, target locale, class loader and control.
    getBundle(String baseName, Locale targetLocale, Module module)
    Gets a resource bundle using the specified base name and locale on behalf of the specified module.
    static final ResourceBundle
    getBundle(String baseName, Locale targetLocale, ResourceBundle.Control control)
    Returns a resource bundle using the specified base name, target locale and control, and the caller's class loader.
    static final ResourceBundle
    Returns a resource bundle using the specified base name, the default locale and the specified control.
    Returns the locale of this resource bundle.
    final Object
    Gets an object for the given key from this resource bundle or one of its parents.
    final String
    Gets a string for the given key from this resource bundle or one of its parents.
    final String[]
    Gets a string array for the given key from this resource bundle or one of its parents.
    Returns a Set of all keys contained in this ResourceBundle and its parent bundles.
    protected void
    Sets the parent bundle of this bundle.

    Methods declared in class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    Modifier and Type
    Method
    Description
    protected Object
    Answers a new instance of the same class as the receiver, whose slots have been filled in with the values in the slots of the receiver.
    boolean
    Compares the argument to the receiver, and answers true if they represent the same object using a class specific comparison.
    protected void
    Deprecated, for removal: This API element is subject to removal in a future version.
    May cause performance issues, deadlocks and hangs.
    final Class<? extends Object>
    Answers the unique instance of java.lang.Class which represents the class of the receiver.
    int
    Answers an integer hash code for the receiver.
    final void
    Causes one thread which is waiting on the receiver to be made ready to run.
    final void
    Causes all threads which are waiting on the receiver to be made ready to run.
    Answers a string containing a concise, human-readable description of the receiver.
    final void
    Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated by notify or notifyAll).
    final void
    wait(long time)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.
    final void
    wait(long time, int frac)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.
  • Constructor Details

    • ListResourceBundle

      public ListResourceBundle()
      Sole constructor. (For invocation by subclass constructors, typically implicit.)
  • Method Details

    • handleGetObject

      public final Object handleGetObject(String key)
      Description copied from class: ResourceBundle
      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
    • getKeys

      public Enumeration<String> getKeys()
      Returns an Enumeration of the keys contained in this ResourceBundle and its parent bundles.
      Specified by:
      getKeys in class ResourceBundle
      Returns:
      an Enumeration of the keys contained in this ResourceBundle and its parent bundles.
      See Also:
    • handleKeySet

      protected Set<String> handleKeySet()
      Returns a Set of the keys contained only in this ResourceBundle.
      Overrides:
      handleKeySet in class ResourceBundle
      Returns:
      a Set of the keys contained only in this ResourceBundle
      Since:
      1.6
      See Also:
    • getContents

      protected abstract Object[][] getContents()
      Returns an array in which each item is a pair of objects in an Object array. The first element of each pair is the key, which must be a String, and the second element is the value associated with that key. See the class description for details.
      Returns:
      an array of an Object array representing a key-value pair.