declare namespace java {
namespace util {
/**
* Resource bundles contain locale-specific objects. When your program needs a
* locale-specific resource, a String
for example, your program can
* load it from the resource bundle that is appropriate for the current user's
* locale. In this way, you can write program code that is largely independent
* of the user's locale isolating most, if not all, of the locale-specific
* information in resource bundles.
*
* This allows you to write programs that can: *
* Resource bundles belong to families whose members share a common base * name, but whose names also have additional components that identify * their locales. For example, the base name of a family of resource * bundles might be "MyResources". The family should have a default * resource bundle which simply has the same name as its family - * "MyResources" - and will be used as the bundle of last resort if a * specific locale is not supported. The family can then provide as * many locale-specific members as needed, for example a German one * named "MyResources_de". *
* Each resource bundle in a family contains the same items, but the items have
* been translated for the locale represented by that resource bundle.
* For example, both "MyResources" and "MyResources_de" may have a
* String
that's used on a button for canceling operations.
* In "MyResources" the String
may contain "Cancel" and in
* "MyResources_de" it may contain "Abbrechen".
*
* If there are different resources for different countries, you * can make specializations: for example, "MyResources_de_CH" contains objects for * the German language (de) in Switzerland (CH). If you want to only * modify some of the resources * in the specialization, you can do so. *
* When your program needs a locale-specific object, it loads
* the ResourceBundle
class using the
* {@link #getBundle(java.lang.String, java.util.Locale) getBundle}
* method:
*
*** ResourceBundle myResources = * ResourceBundle.getBundle("MyResources", currentLocale); **
* Resource bundles contain key/value pairs. The keys uniquely
* identify a locale-specific object in the bundle. Here's an
* example of a ListResourceBundle
that contains
* two key/value pairs:
*
** Keys are always* public class MyResources extends ListResourceBundle { * protected Object[][] getContents() { * return new Object[][] { * // LOCALIZE THE SECOND STRING OF EACH ARRAY (e.g., "OK") * {"OkKey", "OK"}, * {"CancelKey", "Cancel"}, * // END OF MATERIAL TO LOCALIZE * }; * } * } **
String
s.
* In this example, the keys are "OkKey" and "CancelKey".
* In the above example, the values
* are also String
s--"OK" and "Cancel"--but
* they don't have to be. The values can be any type of object.
*
* You retrieve an object from resource bundle using the appropriate
* getter method. Because "OkKey" and "CancelKey"
* are both strings, you would use getString
to retrieve them:
*
** The getter methods all require the key as an argument and return * the object if found. If the object is not found, the getter method * throws a* button1 = new Button(myResources.getString("OkKey")); * button2 = new Button(myResources.getString("CancelKey")); **
MissingResourceException
.
*
* Besides getString
, ResourceBundle
also provides
* a method for getting string arrays, getStringArray
,
* as well as a generic getObject
method for any other
* type of object. When using getObject
, you'll
* have to cast the result to the appropriate type. For example:
*
*** int[] myIntegers = (int[]) myResources.getObject("intList"); **
* The Java Platform provides two subclasses of ResourceBundle
,
* ListResourceBundle
and PropertyResourceBundle
,
* that provide a fairly simple way to create resources.
* As you saw briefly in a previous example, ListResourceBundle
* manages its resource as a list of key/value pairs.
* PropertyResourceBundle
uses a properties file to manage
* its resources.
*
* If ListResourceBundle
or PropertyResourceBundle
* do not suit your needs, you can write your own ResourceBundle
* subclass. Your subclasses must override two methods: handleGetObject
* and getKeys()
.
*
* The implementation of a {@code ResourceBundle} subclass must be thread-safe * if it's simultaneously used by multiple threads. The default implementations * of the non-abstract methods in this class, and the methods in the direct * known concrete subclasses {@code ListResourceBundle} and * {@code PropertyResourceBundle} are thread-safe. *
getBundle
* factory methods that take a ResourceBundle.Control
* instance. You can implement your own subclass in order to enable
* non-standard resource bundle formats, change the search strategy, or
* define caching parameters. Refer to the descriptions of the class and the
* {@link #getBundle(String, Locale, ClassLoader, Control) getBundle}
* factory method for details.
* For the {@code getBundle} factory * methods that take no {@link Control} instance, their default behavior of resource bundle loading * can be modified with installed {@link * ResourceBundleControlProvider} implementations. Any installed providers are * detected at the {@code ResourceBundle} class loading time. If any of the * providers provides a {@link Control} for the given base name, that {@link * Control} will be used instead of the default {@link Control}. If there is * more than one service provider installed for supporting the same base name, * the first one returned from {@link ServiceLoader} will be used. *
getBundle
factory
* methods are cached by default, and the factory methods return the same
* resource bundle instance multiple times if it has been
* cached. getBundle
clients may clear the cache, manage the
* lifetime of cached resource bundle instances using time-to-live values,
* or specify not to cache resource bundle instances. Refer to the
* descriptions of the {@linkplain #getBundle(String, Locale, ClassLoader,
* Control) getBundle
factory method}, {@link
* #clearCache(ClassLoader) clearCache}, {@link
* Control#getTimeToLive(String, Locale)
* ResourceBundle.Control.getTimeToLive}, and {@link
* Control#needsReload(String, Locale, String, ClassLoader, ResourceBundle,
* long) ResourceBundle.Control.needsReload} for details.
* ResourceBundle
* subclass, MyResources
, that manages two resources (for a larger number of
* resources you would probably use a Map
).
* Notice that you don't need to supply a value if
* a "parent-level" ResourceBundle
handles the same
* key with the same value (as for the okKey below).
* ** You do not have to restrict yourself to using a single family of ** // default (English language, United States) * public class MyResources extends ResourceBundle { * public Object handleGetObject(String key) { * if (key.equals("okKey")) return "Ok"; * if (key.equals("cancelKey")) return "Cancel"; * return null; * } * public Enumeration<String> getKeys() { * return Collections.enumeration(keySet()); * } * // Overrides handleKeySet() so that the getKeys() implementation * // can rely on the keySet() value. * protected Set<String> handleKeySet() { * return new HashSet<String>(Arrays.asList("okKey", "cancelKey")); * } * } * // German language * public class MyResources_de extends MyResources { * public Object handleGetObject(String key) { * // don't need okKey, since parent level handles it. * if (key.equals("cancelKey")) return "Abbrechen"; * return null; * } * protected Set<String> handleKeySet() { * return new HashSet<String>(Arrays.asList("cancelKey")); * } * } **
ResourceBundle
s. For example, you could have a set of bundles for
* exception messages, ExceptionResources
* (ExceptionResources_fr
, ExceptionResources_de
, ...),
* and one for widgets, WidgetResource
(WidgetResources_fr
,
* WidgetResources_de
, ...); breaking up the resources however you like.
* @see ListResourceBundle
* @see PropertyResourceBundle
* @see MissingResourceException
* @since JDK1.1
*/
// @ts-ignore
abstract class ResourceBundle extends java.lang.Object {
/**
* Sole constructor. (For invocation by subclass constructors, typically
* implicit.)
*/
// @ts-ignore
constructor()
/**
* The parent bundle of this bundle.
* The parent bundle is searched by {@link #getObject getObject}
* when this bundle does not contain a particular resource.
*/
// @ts-ignore
parent: java.util.ResourceBundle
/**
* Returns the base name of this bundle, if known, or {@code null} if unknown.
* If not null, then this is the value of the {@code baseName} parameter
* that was passed to the {@code ResourceBundle.getBundle(...)} method
* when the resource bundle was loaded.
* @return The base name of the resource bundle, as provided to and expected
* by the {#code ResourceBundle.getBundle(...)} methods.
* @see #getBundle(java.lang.String, java.util.Locale, java.lang.ClassLoader)
* @since 1.8
*/
// @ts-ignore
public getBaseBundleName(): string
/**
* Gets a string for the given key from this resource bundle or one of its parents.
* Calling this method is equivalent to calling
*
* (String) {@link #getObject(java.lang.String) getObject}(key)
.
*
* @param key the key for the desired string
* @exception NullPointerException if key
is null
* @exception MissingResourceException if no object for the given key can be found
* @exception ClassCastException if the object found for the given key is not a string
* @return the string for the given key
*/
// @ts-ignore
public getString(key: java.lang.String | string): string
/**
* Gets a string array for the given key from this resource bundle or one of its parents.
* Calling this method is equivalent to calling
*
* (String[]) {@link #getObject(java.lang.String) getObject}(key)
.
*
* @param key the key for the desired string array
* @exception NullPointerException if key
is null
* @exception MissingResourceException if no object for the given key can be found
* @exception ClassCastException if the object found for the given key is not a string array
* @return the string array for the given key
*/
// @ts-ignore
public getStringArray(key: java.lang.String | string): string[]
/**
* Gets an object for the given key from this resource bundle or one of its parents.
* This method first tries to obtain the object from this resource bundle using
* {@link #handleGetObject(java.lang.String) 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.
* @param key the key for the desired object
* @exception NullPointerException if key
is null
* @exception MissingResourceException if no object for the given key can be found
* @return the object for the given key
*/
// @ts-ignore
public getObject(key: java.lang.String | string): any
/**
* Returns the locale of this resource bundle. This method can be used after a
* call to getBundle() to determine whether the resource bundle returned really
* corresponds to the requested locale or is a fallback.
* @return the locale of this resource bundle
*/
// @ts-ignore
public getLocale(): java.util.Locale
/**
* Sets the parent bundle of this bundle.
* The parent bundle is searched by {@link #getObject getObject}
* when this bundle does not contain a particular resource.
* @param parent this bundle's parent bundle.
*/
// @ts-ignore
setParent(parent: java.util.ResourceBundle): void
/**
* Gets a resource bundle using the specified base name, the default locale,
* and the caller's class loader. Calling this method is equivalent to calling
*
* getBundle(baseName, Locale.getDefault(), this.getClass().getClassLoader())
,
*
* except that getClassLoader()
is run with the security
* privileges of ResourceBundle
.
* See {@link #getBundle(String, Locale, ClassLoader) getBundle}
* for a complete description of the search and instantiation strategy.
* @param baseName the base name of the resource bundle, a fully qualified class name
* @exception java.lang.NullPointerException
* if baseName
is null
* @exception MissingResourceException
* if no resource bundle for the specified base name can be found
* @return a resource bundle for the given base name and the default locale
*/
// @ts-ignore
public static getBundle(baseName: java.lang.String | string): java.util.ResourceBundle
/**
* Returns a resource bundle using the specified base name, the
* default locale and the specified control. Calling this method
* is equivalent to calling
* * getBundle(baseName, Locale.getDefault(), * this.getClass().getClassLoader(), control), ** except that
getClassLoader()
is run with the security
* privileges of ResourceBundle
. See {@link
* #getBundle(String, Locale, ClassLoader, Control) getBundle} for the
* complete description of the resource bundle loading process with a
* ResourceBundle.Control
.
* @param baseName
* the base name of the resource bundle, a fully qualified class
* name
* @param control
* the control which gives information for the resource bundle
* loading process
* @return a resource bundle for the given base name and the default
* locale
* @exception NullPointerException
* if baseName
or control
is
* null
* @exception MissingResourceException
* if no resource bundle for the specified base name can be found
* @exception IllegalArgumentException
* if the given control
doesn't perform properly
* (e.g., control.getCandidateLocales
returns null.)
* Note that validation of control
is performed as
* needed.
* @since 1.6
*/
// @ts-ignore
public static getBundle(baseName: java.lang.String | string, control: java.util.ResourceBundle.Control): java.util.ResourceBundle
/**
* Gets a resource bundle using the specified base name and locale,
* and the caller's class loader. Calling this method is equivalent to calling
*
* getBundle(baseName, locale, this.getClass().getClassLoader())
,
*
* except that getClassLoader()
is run with the security
* privileges of ResourceBundle
.
* See {@link #getBundle(String, Locale, ClassLoader) getBundle}
* for a complete description of the search and instantiation strategy.
* @param baseName
* the base name of the resource bundle, a fully qualified class name
* @param locale
* the locale for which a resource bundle is desired
* @exception NullPointerException
* if baseName
or locale
is null
* @exception MissingResourceException
* if no resource bundle for the specified base name can be found
* @return a resource bundle for the given base name and locale
*/
// @ts-ignore
public static getBundle(baseName: java.lang.String | string, locale: java.util.Locale): java.util.ResourceBundle
/**
* Returns a resource bundle using the specified base name, target
* locale and control, and the caller's class loader. Calling this
* method is equivalent to calling
* * getBundle(baseName, targetLocale, this.getClass().getClassLoader(), * control), ** except that
getClassLoader()
is run with the security
* privileges of ResourceBundle
. See {@link
* #getBundle(String, Locale, ClassLoader, Control) getBundle} for the
* complete description of the resource bundle loading process with a
* ResourceBundle.Control
.
* @param baseName
* the base name of the resource bundle, a fully qualified
* class name
* @param targetLocale
* the locale for which a resource bundle is desired
* @param control
* the control which gives information for the resource
* bundle loading process
* @return a resource bundle for the given base name and a
* Locale
in locales
* @exception NullPointerException
* if baseName
, locales
or
* control
is null
* @exception MissingResourceException
* if no resource bundle for the specified base name in any
* of the locales
can be found.
* @exception IllegalArgumentException
* if the given control
doesn't perform properly
* (e.g., control.getCandidateLocales
returns null.)
* Note that validation of control
is performed as
* needed.
* @since 1.6
*/
// @ts-ignore
public static getBundle(baseName: java.lang.String | string, targetLocale: java.util.Locale, control: java.util.ResourceBundle.Control): java.util.ResourceBundle
/**
* Gets a resource bundle using the specified base name, locale, and class
* loader.
* This method behaves the same as calling * {@link #getBundle(String, Locale, ClassLoader, Control)} passing a * default instance of {@link Control} unless another {@link Control} is * provided with the {@link ResourceBundleControlProvider} SPI. Refer to the * description of modifying the default * behavior. *
The following describes the default * behavior. *
getBundle
uses the base name, the specified locale, and
* the default locale (obtained from {@link java.util.Locale#getDefault()
* Locale.getDefault}) to generate a sequence of candidate bundle names. If the specified
* locale's language, script, country, and variant are all empty strings,
* then the base name is the only candidate bundle name. Otherwise, a list
* of candidate locales is generated from the attribute values of the
* specified locale (language, script, country and variant) and appended to
* the base name. Typically, this will look like the following:
*
* baseName + "_" + language + "_" + script + "_" + country + "_" + variant * baseName + "_" + language + "_" + script + "_" + country * baseName + "_" + language + "_" + script * baseName + "_" + language + "_" + country + "_" + variant * baseName + "_" + language + "_" + country * baseName + "_" + language **
Candidate bundle names where the final component is an empty string * are omitted, along with the underscore. For example, if country is an * empty string, the second and the fifth candidate bundle names above * would be omitted. Also, if script is an empty string, the candidate names * including script are omitted. For example, a locale with language "de" * and variant "JAVA" will produce candidate names with base name * "MyResource" below. *
* MyResource_de__JAVA * MyResource_de ** In the case that the variant contains one or more underscores ('_'), a * sequence of bundle names generated by truncating the last underscore and * the part following it is inserted after a candidate bundle name with the * original variant. For example, for a locale with language "en", script * "Latn, country "US" and variant "WINDOWS_VISTA", and bundle base name * "MyResource", the list of candidate bundle names below is generated: *
* MyResource_en_Latn_US_WINDOWS_VISTA * MyResource_en_Latn_US_WINDOWS * MyResource_en_Latn_US * MyResource_en_Latn * MyResource_en_US_WINDOWS_VISTA * MyResource_en_US_WINDOWS * MyResource_en_US * MyResource_en **
Note: For some Locale
s, the list of
* candidate bundle names contains extra names, or the order of bundle names
* is slightly modified. See the description of the default implementation
* of {@link Control#getCandidateLocales(String, Locale)
* getCandidateLocales} for details.
* getBundle
then iterates over the candidate bundle names
* to find the first one for which it can instantiate an actual
* resource bundle. It uses the default controls' {@link Control#getFormats
* getFormats} method, which generates two bundle names for each generated
* name, the first a class name and the second a properties file name. 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 using the generated properties file name. 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 {@link
* java.lang.ClassLoader#getResource(java.lang.String)
* 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 {@link
* PropertyResourceBundle} instance from its contents. If successful, this
* instance becomes the result resource bundle. This continues until a result resource bundle is instantiated or the * list of candidate bundle names is exhausted. If no matching resource * bundle is found, the default control's {@link Control#getFallbackLocale * getFallbackLocale} method is called, which returns the current default * locale. A new sequence of candidate locale names is generated using this * locale and and searched again, as above. *
If still no result bundle is found, the base name alone is looked up. If
* this still fails, a MissingResourceException
is thrown.
*
Once a result resource bundle has been found, * its parent chain is instantiated. If the result bundle already * has a parent (perhaps because it was returned from a cache) the chain is * complete. *
Otherwise, getBundle
examines the remainder of the
* candidate locale list that was used during the pass that generated the
* result resource bundle. (As before, candidate bundle names where the
* final component is an empty string are omitted.) When it comes to the
* end of the candidate list, it tries the plain bundle name. With each of the
* candidate bundle names it attempts to instantiate a resource bundle (first
* looking for a class and then a properties file, as described above).
*
Whenever it succeeds, it calls the previously instantiated resource * bundle's {@link #setParent(java.util.ResourceBundle) setParent} method * with the new resource bundle. This continues until the list of names * is exhausted or the current bundle already has a non-null parent. *
Once the parent chain is complete, the bundle is returned. *
Note: getBundle
caches instantiated resource
* bundles and might return the same resource bundle instance multiple times.
*
Note:The baseName
argument should be a fully
* qualified class name. However, for compatibility with earlier versions,
* Sun's Java SE 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
* ".").
*
* The following class and property files are provided: *
* MyResources.class * MyResources.properties * MyResources_fr.properties * MyResources_fr_CH.class * MyResources_fr_CH.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 locale arguments below will
* instantiate resource bundles as follows:
*
Locale("fr", "CH") | MyResources_fr_CH.class, parent MyResources_fr.properties, parent MyResources.class |
Locale("fr", "FR") | MyResources_fr.properties, parent MyResources.class |
Locale("de", "DE") | MyResources_en.properties, parent MyResources.class |
Locale("en", "US") | MyResources_en.properties, parent MyResources.class |
Locale("es", "ES") | MyResources_es_ES.class, parent MyResources.class |
The file MyResources_fr_CH.properties is never used because it is
* hidden by the MyResources_fr_CH.class. Likewise, MyResources.properties
* is also hidden by MyResources.class.
* @param baseName the base name of the resource bundle, a fully qualified class name
* @param locale the locale for which a resource bundle is desired
* @param loader the class loader from which to load the resource bundle
* @return a resource bundle for the given base name and locale
* @exception java.lang.NullPointerException
* if baseName
, locale
, or loader
is null
* @exception MissingResourceException
* if no resource bundle for the specified base name can be found
* @since 1.2
*/
// @ts-ignore
public static getBundle(baseName: java.lang.String | string, locale: java.util.Locale, loader: java.lang.ClassLoader): java.util.ResourceBundle
/**
* Returns a resource bundle using the specified base name, target
* locale, class loader and control. Unlike the {@linkplain
* #getBundle(String, Locale, ClassLoader) getBundle
* factory methods with no control
argument}, the given
* control
specifies how to locate and instantiate resource
* bundles. Conceptually, the bundle loading process with the given
* control
is performed in the following steps.
*
baseName
, targetLocale
and
* loader
. If the requested resource bundle instance is
* found in the cache and the time-to-live periods of the instance and
* all of its parent instances have not expired, the instance is returned
* to the caller. Otherwise, this factory method proceeds with the
* loading process below."java.class"
and "java.properties"
* designate class-based and {@linkplain PropertyResourceBundle
* property}-based resource bundles, respectively. Other strings
* starting with "java."
are reserved for future extensions
* and must not be used for application-defined formats. Other strings
* designate application-defined formats.Locale
s for
* which resource bundles are searched.ResourceBundle
for the base bundle name, a
* candidate locale, and a format. (Refer to the note on the cache
* lookup below.) This step is iterated over all combinations of the
* candidate locales and formats until the newBundle
method
* returns a ResourceBundle
instance or the iteration has
* used up all the combinations. For example, if the candidate locales
* are Locale("de", "DE")
, Locale("de")
and
* Locale("")
and the formats are "java.class"
* and "java.properties"
, then the following is the
* sequence of locale-format combinations to be used to call
* control.newBundle
.
* Locale * |
* format * |
*
Locale("de", "DE") * |
* java.class * |
*
Locale("de", "DE") |
* java.properties * |
*
Locale("de") |
* java.class |
*
Locale("de") |
* java.properties |
*
Locale("") * |
* java.class |
*
Locale("") |
* java.properties |
*
Locale("")
), and the candidate locale list only contained
* Locale("")
, return the bundle to the caller. If a bundle
* has been found that is a base bundle, but the candidate locale list
* contained locales other than Locale(""), put the bundle on hold and
* proceed to Step 6. If a bundle has been found that is not a base
* bundle, proceed to Step 7.During the resource bundle loading process above, this factory
* method looks up the cache before calling the {@link
* Control#newBundle(String, Locale, String, ClassLoader, boolean)
* control.newBundle} method. If the time-to-live period of the
* resource bundle found in the cache has expired, the factory method
* calls the {@link ResourceBundle.Control#needsReload(String, Locale,
* String, ClassLoader, ResourceBundle, long) control.needsReload}
* method to determine whether the resource bundle needs to be reloaded.
* If reloading is required, the factory method calls
* control.newBundle
to reload the resource bundle. If
* control.newBundle
returns null
, the factory
* method puts a dummy resource bundle in the cache as a mark of
* nonexistent resource bundles in order to avoid lookup overhead for
* subsequent requests. Such dummy resource bundles are under the same
* expiration control as specified by control
.
*
All resource bundles loaded are cached by default. Refer to * {@link Control#getTimeToLive(String,Locale) * control.getTimeToLive} for details. *
The following is an example of the bundle loading process with the
* default ResourceBundle.Control
implementation.
*
Conditions: *
foo.bar.Messages
* Locale
: {@link Locale#ITALY}Locale
: {@link Locale#FRENCH}foo/bar/Messages_fr.properties
and
* foo/bar/Messages.properties
First, getBundle
tries loading a resource bundle in
* the following sequence.
*
foo.bar.Messages_it_IT
* foo/bar/Messages_it_IT.properties
* foo.bar.Messages_it
foo/bar/Messages_it.properties
foo.bar.Messages
foo/bar/Messages.properties
At this point, getBundle
finds
* foo/bar/Messages.properties
, which is put on hold
* because it's the base bundle. getBundle
calls {@link
* Control#getFallbackLocale(String, Locale)
* control.getFallbackLocale("foo.bar.Messages", Locale.ITALY)} which
* returns Locale.FRENCH
. Next, getBundle
* tries loading a bundle in the following sequence.
*
foo.bar.Messages_fr
foo/bar/Messages_fr.properties
foo.bar.Messages
foo/bar/Messages.properties
The default implementation returns a getBundle
finds
* foo/bar/Messages_fr.properties
and creates a
* ResourceBundle
instance. Then, getBundle
* sets up its parent chain from the list of the candidate locales. Only
* foo/bar/Messages.properties
is found in the list and
* getBundle
creates a ResourceBundle
instance
* that becomes the parent of the instance for
* foo/bar/Messages_fr.properties
.
* @param baseName
* the base name of the resource bundle, a fully qualified
* class name
* @param targetLocale
* the locale for which a resource bundle is desired
* @param loader
* the class loader from which to load the resource bundle
* @param control
* the control which gives information for the resource
* bundle loading process
* @return a resource bundle for the given base name and locale
* @exception NullPointerException
* if baseName
, targetLocale
,
* loader
, or control
is
* null
* @exception MissingResourceException
* if no resource bundle for the specified base name can be found
* @exception IllegalArgumentException
* if the given control
doesn't perform properly
* (e.g., control.getCandidateLocales
returns null.)
* Note that validation of control
is performed as
* needed.
* @since 1.6
*/
// @ts-ignore
public static getBundle(baseName: java.lang.String | string, targetLocale: java.util.Locale, loader: java.lang.ClassLoader, control: java.util.ResourceBundle.Control): java.util.ResourceBundle
/**
* Removes all resource bundles from the cache that have been loaded
* using the caller's class loader.
* @since 1.6
* @see ResourceBundle.Control#getTimeToLive(String,Locale)
*/
// @ts-ignore
public static clearCache(): void
/**
* Removes all resource bundles from the cache that have been loaded
* using the given class loader.
* @param loader the class loader
* @exception NullPointerException if loader
is null
* @since 1.6
* @see ResourceBundle.Control#getTimeToLive(String,Locale)
*/
// @ts-ignore
public static clearCache(loader: java.lang.ClassLoader): void
/**
* 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.
* @param key the key for the desired object
* @exception NullPointerException if key
is null
* @return the object for the given key, or null
*/
// @ts-ignore
abstract handleGetObject(key: java.lang.String | string): any
/**
* Returns an enumeration of the keys.
* @return an Enumeration
of the keys contained in
* this ResourceBundle
and its parent bundles.
*/
// @ts-ignore
public abstract getKeys(): java.util.Enumerationkey
is contained in
* this ResourceBundle
or its parent bundles.
* @param key
* the resource key
* @return true
if the given key
is
* contained in this ResourceBundle
or its
* parent bundles; false
otherwise.
* @exception NullPointerException
* if key
is null
* @since 1.6
*/
// @ts-ignore
public containsKey(key: java.lang.String | string): boolean
/**
* Returns a Set
of all keys contained in this
* ResourceBundle
and its parent bundles.
* @return a Set
of all keys contained in this
* ResourceBundle
and its parent bundles.
* @since 1.6
*/
// @ts-ignore
public keySet(): ArraySet
of the keys contained only
* in this ResourceBundle
.
* Set
of the
* keys returned by the {@link #getKeys() getKeys} method except
* for the ones for which the {@link #handleGetObject(String)
* handleGetObject} method returns null
. Once the
* Set
has been created, the value is kept in this
* ResourceBundle
in order to avoid producing the
* same Set
in subsequent calls. Subclasses can
* override this method for faster handling.
* @return a Set
of the keys contained only in this
* ResourceBundle
* @since 1.6
*/
// @ts-ignore
handleKeySet(): Array