|
Préférences
Moteurs de recherche
|
|||||||||||||||||||||||||||||||||
JavaTM 2 Platform Std. Ed. v1.4.2
java.util
|
Field Summary | |
protected ResourceBundle |
parent
The parent bundle of this bundle. |
Constructor Summary | |
ResourceBundle()
Sole constructor. |
Method Summary | |
static ResourceBundle |
getBundle(String baseName)
Gets a resource bundle using the specified base name, the default locale, and the caller's class loader. |
static ResourceBundle |
getBundle(String baseName,
Locale locale)
Gets a resource bundle using the specified base name and locale, and the caller's class loader. |
static ResourceBundle |
getBundle(String baseName,
Locale locale,
ClassLoader loader)
Gets a resource bundle using the specified base name, locale, and class loader. |
abstract Enumeration |
getKeys()
Returns an enumeration of the keys. |
Locale |
getLocale()
Returns the locale of this resource bundle. |
Object |
getObject(String key)
Gets an object for the given key from this resource bundle or one of its parents. |
String |
getString(String key)
Gets a string for the given key from this resource bundle or one of its parents. |
String[] |
getStringArray(String key)
Gets a string array for the given key from this resource bundle or one of its parents. |
protected abstract Object |
handleGetObject(String key)
Gets an object for the given key from this resource bundle. |
protected void |
setParent(ResourceBundle parent)
Sets the parent bundle of this bundle. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected ResourceBundle parent
getObject
when this bundle does not contain a particular resource.
Constructor Detail |
public ResourceBundle()
Method Detail |
public final String getString(String key)
(String) getObject
(key)
.
key
- the key for the desired string
NullPointerException
- if key
is null
MissingResourceException
- if no object for the given key can be found
ClassCastException
- if the object found for the given key is not a stringpublic final String[] getStringArray(String key)
(String[]) getObject
(key)
.
key
- the key for the desired string array
NullPointerException
- if key
is null
MissingResourceException
- if no object for the given key can be found
ClassCastException
- if the object found for the given key is not a string arraypublic final Object getObject(String key)
handleGetObject
.
If not successful, and the parent resource bundle is not null,
it calls the parent's getObject
method.
If still not successful, it throws a MissingResourceException.
key
- the key for the desired object
NullPointerException
- if key
is null
MissingResourceException
- if no object for the given key can be foundpublic Locale getLocale()
protected void setParent(ResourceBundle parent)
getObject
when this bundle does not contain a particular resource.
parent
- this bundle's parent bundle.public static final ResourceBundle getBundle(String baseName)
getBundle(baseName, Locale.getDefault(), this.getClass().getClassLoader())
,
except that getClassLoader()
is run with the security
privileges of ResourceBundle
.
See getBundle
for a complete description of the search and instantiation strategy.
baseName
- the base name of the resource bundle, a fully qualified class name
NullPointerException
- if baseName
is null
MissingResourceException
- if no resource bundle for the specified base name can be foundpublic static final ResourceBundle getBundle(String baseName, Locale locale)
getBundle(baseName, locale, this.getClass().getClassLoader())
,
except that getClassLoader()
is run with the security
privileges of ResourceBundle
.
See getBundle
for a complete description of the search and instantiation strategy.
baseName
- the base name of the resource bundle, a fully qualified class namelocale
- the locale for which a resource bundle is desired
NullPointerException
- if baseName
or locale
is null
MissingResourceException
- if no resource bundle for the specified base name can be foundpublic static ResourceBundle getBundle(String baseName, Locale locale, ClassLoader loader)
Conceptually, getBundle
uses the following strategy for locating and instantiating
resource bundles:
getBundle
uses the base name, the specified locale, and the default
locale (obtained from Locale.getDefault
)
to generate a sequence of candidate bundle names.
If the specified locale's language, country, and variant are all empty
strings, then the base name is the only candidate bundle name.
Otherwise, the following sequence is generated from the attribute
values of the specified locale (language1, country1, and variant1)
and of the default locale (language2, country2, and variant2):
Candidate bundle names where the final component is an empty string are omitted. For example, if country1 is an empty string, the second candidate bundle name is omitted.
getBundle
then iterates over the candidate bundle names to find the first
one for which it can instantiate an actual resource bundle. For each candidate
bundle name, it attempts to create a resource bundle:
getBundle
creates a new instance of this class and uses it as the result
resource bundle.
getBundle
attempts to locate a property resource file.
It generates a path name from the candidate bundle name by replacing all "." characters
with "/" and appending the string ".properties".
It attempts to find a "resource" with this name using
ClassLoader.getResource
.
(Note that a "resource" in the sense of getResource
has nothing to do with
the contents of a resource bundle, it is just a container of data, such as a file.)
If it finds a "resource", it attempts to create a new
PropertyResourceBundle
instance from its contents.
If successful, this instance becomes the result resource bundle.
If no result resource bundle has been found, a MissingResourceException
is thrown.
Once a result resource bundle has been found, its parent chain is instantiated.
getBundle
iterates over the candidate bundle names that can be
obtained by successively removing variant, country, and language
(each time with the preceding "_") from the bundle name of the result resource bundle.
As above, candidate bundle names where the final component is an empty string are omitted.
With each of the candidate bundle names it attempts to instantiate a resource bundle, as
described above.
Whenever it succeeds, it calls the previously instantiated resource
bundle's setParent
method
with the new resource bundle, unless the previously instantiated resource
bundle already has a non-null parent.
Implementations of getBundle
may cache instantiated resource bundles
and return the same resource bundle instance multiple times. They may also
vary the sequence in which resource bundles are instantiated as long as the
selection of the result resource bundle and its parent chain are compatible with
the description above.
The baseName
argument should be a fully qualified class name. However, for
compatibility with earlier versions, Sun's Java 2 runtime environments do not verify this,
and so it is possible to access PropertyResourceBundle
s by specifying a
path name (using "/") instead of a fully qualified class name (using ".").
Example: The following class and property files are provided:
MyResources.class, MyResources_fr_CH.properties, MyResources_fr_CH.class,
MyResources_fr.properties, MyResources_en.properties, MyResources_es_ES.class.
The contents of all files are valid (that is, public non-abstract subclasses of ResourceBundle for
the ".class" files, syntactically correct ".properties" files).
The default locale is Locale("en", "GB")
.
Calling getBundle
with the shown locale argument values instantiates
resource bundles from the following sources:
baseName
- the base name of the resource bundle, a fully qualified class namelocale
- the locale for which a resource bundle is desiredloader
- the class loader from which to load the resource bundle
NullPointerException
- if baseName
, locale
, or loader
is null
MissingResourceException
- if no resource bundle for the specified base name can be foundprotected abstract Object handleGetObject(String key)
key
- the key for the desired object
NullPointerException
- if key
is null
public abstract Enumeration getKeys()