/*
* @(#)PropertyResourceBundle.java 1.27 04/05/05
*
* Copyright 2004 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
/*
* (C) Copyright Taligent, Inc. 1996, 1997 - All Rights Reserved
* (C) Copyright IBM Corp. 1996 - 1998 - All Rights Reserved
*
* The original version of this source code and documentation
* is copyrighted and owned by Taligent, Inc., a wholly-owned
* subsidiary of IBM. These materials are provided under terms
* of a License Agreement between Taligent and Sun. This technology
* is protected by multiple US and International patents.
*
* This notice and attribution to Taligent may not be removed.
* Taligent is a registered trademark of Taligent, Inc.
*/
package java.util;
import java.io.InputStream;
import java.io.IOException;
/**
* PropertyResourceBundle
is a concrete subclass of
* ResourceBundle
that manages resources for a locale
* using a set of static strings from a property file. See
* {@link ResourceBundle ResourceBundle} for more information about resource
* bundles. See {@link Properties Properties} for more information
* about properties files, in particular the
* information on character encodings.
*
*
* Unlike other types of resource bundle, you don't subclass
* PropertyResourceBundle
. Instead, you supply properties
* files containing the resource data. ResourceBundle.getBundle
* will automatically look for the appropriate properties file and create a
* PropertyResourceBundle
that refers to it. See
* {@link ResourceBundle#getBundle(java.lang.String, java.util.Locale, java.lang.ClassLoader) ResourceBundle.getBundle}
* for a complete description of the search and instantiation strategy.
*
*
* The following example shows a member of a resource
* bundle family with the base name "MyResources".
* The text defines the bundle "MyResources_de",
* the German member of the bundle family.
* This member is based on PropertyResourceBundle
, and the text
* therefore is the content of the file "MyResources_de.properties"
* (a related example shows
* how you can add bundles to this family that are implemented as subclasses
* of ListResourceBundle
).
* 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.
*
** * @see ResourceBundle * @see ListResourceBundle * @see Properties * @since JDK1.1 */ public class PropertyResourceBundle extends ResourceBundle { /** * Creates a property resource bundle. * @param stream property file to read from. */ public PropertyResourceBundle (InputStream stream) throws IOException { Properties properties = new Properties(); properties.load(stream); lookup = new HashMap(properties); } // Implements java.util.ResourceBundle.handleGetObject; inherits javadoc specification. public Object handleGetObject(String key) { if (key == null) { throw new NullPointerException(); } return lookup.get(key); } /** * Implementation of ResourceBundle.getKeys. */ public Enumeration* # MessageFormat pattern * s1=Die Platte \"{1}\" enthält {0}. * * # location of {0} in pattern * s2=1 * * # sample disk name * s3=Meine Platte * * # first ChoiceFormat choice * s4=keine Dateien * * # second ChoiceFormat choice * s5=eine Datei * * # third ChoiceFormat choice * s6={0,number} Dateien * * # sample date * s7=3. März 1996 **