org.hsqldb.resources
Class BundleHandler

java.lang.Object
  extended byorg.hsqldb.resources.BundleHandler

public final class BundleHandler
extends Object

A ResourceBundle helper class.

Allows clients to get/set locale and get at localized resource bundle content in a resource path independent manner, without having to worry about handling exception states or deal directly with ResourceBundle object instances. Instead, clients recieve numeric handles to the underlying objects. Rather than causing exception states, missing or inaccessible resources and underlying MissingResource and NullPointer exceptions result in null return values when attempting to retrieve a resource.

Since:
HSQLDB 1.7.2
Version:
1.7.2
Author:
boucherb@users.sourceforge.net

Method Summary
static ResourceBundle getBundle(String name, Locale locale, ClassLoader cl)
          Retrieves a resource bundle using the specified base name, locale, and class loader.
static int getBundleHandle(String name, ClassLoader cl)
          Retrieves an int handle to the ResourceBundle object corresponding to the specified name and current Locale, using the specified ClassLoader.
static Locale getLocale()
          Getter for property locale.
static String getString(int handle, String key)
          Retrieves, from the ResourceBundle object corresponding to the specified handle, the String value corresponding to the specified key.
static void setLocale(Locale l)
          Setter for property locale.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getLocale

public static Locale getLocale()
Getter for property locale.

Returns:
Value of property locale.

setLocale

public static void setLocale(Locale l)
                      throws IllegalArgumentException
Setter for property locale.

Parameters:
l - the new locale
Throws:
IllegalArgumentException - when the new locale is null

getBundleHandle

public static int getBundleHandle(String name,
                                  ClassLoader cl)
Retrieves an int handle to the ResourceBundle object corresponding to the specified name and current Locale, using the specified ClassLoader.

Parameters:
cl - The ClassLoader to use in the search
name - of the desired bundle
Returns:
int handle to the ResourceBundle object corresponding to the specified name and current Locale, or -1 if no such bundle can be found

getString

public static String getString(int handle,
                               String key)
Retrieves, from the ResourceBundle object corresponding to the specified handle, the String value corresponding to the specified key. null is retrieved if either there is no ResourceBundle object for the handle or there is no String value for the specified key.

Parameters:
handle - an int handle to a ResourceBundle object
key - A String key to a String value
Returns:
The String value correspoding to the specified handle and key.

getBundle

public static ResourceBundle getBundle(String name,
                                       Locale locale,
                                       ClassLoader cl)
                                throws NullPointerException,
                                       MissingResourceException
Retrieves a resource bundle using the specified base name, locale, and class loader. This is a JDK 1.1 compliant substitution for the ResourceBundle method with the same name and signature. If there is a problem using the JDK 1.2 functionality (the class loader is specified non-null and the underlying method is not available or there is a security exception, etc.), then the behaviour reverts to that of JDK 1.1.

Parameters:
name - the base name of the resource bundle, a fully qualified class name
locale - the locale for which a resource bundle is desired
cl - the class loader from which to load the resource bundle
Throws:
NullPointerException
MissingResourceException


Copyright © 2001 - 2004 HSQL Development Group. All Rights Reserved.