ResourceBundle.Control.NewBundle Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Instantiates a resource bundle for the given bundle name of the given format and locale, using the given class loader if necessary.
[Android.Runtime.Register("newBundle", "(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/String;Ljava/lang/ClassLoader;Z)Ljava/util/ResourceBundle;", "GetNewBundle_Ljava_lang_String_Ljava_util_Locale_Ljava_lang_String_Ljava_lang_ClassLoader_ZHandler")]
public virtual Java.Util.ResourceBundle NewBundle(string baseName, Java.Util.Locale locale, string format, Java.Lang.ClassLoader loader, bool reload);
[<Android.Runtime.Register("newBundle", "(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/String;Ljava/lang/ClassLoader;Z)Ljava/util/ResourceBundle;", "GetNewBundle_Ljava_lang_String_Ljava_util_Locale_Ljava_lang_String_Ljava_lang_ClassLoader_ZHandler")>]
abstract member NewBundle : string * Java.Util.Locale * string * Java.Lang.ClassLoader * bool -> Java.Util.ResourceBundle
override this.NewBundle : string * Java.Util.Locale * string * Java.Lang.ClassLoader * bool -> Java.Util.ResourceBundle
Parameters
- baseName
- String
the base bundle name of the resource bundle, a fully qualified class name
- locale
- Locale
the locale for which the resource bundle should be instantiated
- format
- String
the resource bundle format to be loaded
- loader
- ClassLoader
the ClassLoader to use to load the bundle
- reload
- Boolean
the flag to indicate bundle reloading; true
if reloading an expired resource bundle,
false otherwise
Returns
the resource bundle instance,
or null if none could be found.
- Attributes
Exceptions
if we can not access resources
if we can not instantiate a resource class
if other I/O exception happens
Remarks
Instantiates a resource bundle for the given bundle name of the given format and locale, using the given class loader if necessary. This method returns null if there is no resource bundle available for the given parameters. If a resource bundle can't be instantiated due to an unexpected error, the error must be reported by throwing an Error or Exception rather than simply returning null.
If the reload flag is true, it indicates that this method is being called because the previously loaded resource bundle has expired.
The default implementation instantiates a ResourceBundle as follows.
<ul>
<li>The bundle name is obtained by calling #toBundleName(String, Locale) toBundleName(baseName, locale).</li>
<li>If format is "java.class", the Class specified by the bundle name is loaded with the given class loader. If the Class is found and accessible then the ResourceBundle is instantiated. The resource bundle is accessible if the package of the bundle class file is open unconditionally; otherwise, IllegalAccessException will be thrown. Note that the reload flag is ignored for loading class-based resource bundles in this default implementation. </li>
<li>If format is "java.properties", #toResourceName(String, String) toResourceName(bundlename, "properties") is called to get the resource name. If reload is true, ClassLoader#getResource(String) load.getResource is called to get a URL for creating a URLConnection. This URLConnection is used to URLConnection#setUseCaches(boolean) disable the caches of the underlying resource loading layers, and to URLConnection#getInputStream() get an <code>InputStream</code>. Otherwise, ClassLoader#getResourceAsStream(String) loader.getResourceAsStream is called to get an InputStream. Then, a PropertyResourceBundle is constructed with the InputStream.</li>
<li>If format is neither "java.class" nor "java.properties", an IllegalArgumentException is thrown.</li>
</ul>
Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.