## org.jfree.util
Class ResourceBundleSupport

    java.lang.Object
      org.jfree.util.ResourceBundleSupport

    public class ResourceBundleSupport

extends java.lang.Object

An utility class to ease up using property-file resource bundles.

The class support references within the resource bundle set to minimize the occurence of duplicate keys. References are given in the format:

     a.key.name=@referenced.key

A lookup to a key in an other resource bundle should be written by

     a.key.name=@@resourcebundle_name@referenced.key

Author:
  Thomas Morgner

Constructor Summary
`` `ResourceBundleSupport(java.util.Locale locale, java.util.ResourceBundle resourceBundle)` Creates a new instance.
`protected` `ResourceBundleSupport(java.util.Locale locale, java.util.ResourceBundle resourceBundle, java.lang.String baseName)` Creates a new instance.
`` `ResourceBundleSupport(java.util.Locale locale, java.lang.String baseName)` Creates a new instance.
`` `ResourceBundleSupport(java.util.ResourceBundle resourceBundle)` Creates a new instance.
`protected` `ResourceBundleSupport(java.util.ResourceBundle resourceBundle, java.lang.String baseName)` Creates a new instance.
`` `ResourceBundleSupport(java.lang.String baseName)` Creates a new instance.

Method Summary
`javax.swing.JMenu` `createMenu(java.lang.String keyPrefix)` Returns a JMenu created from a resource bundle definition.
`javax.swing.Icon` `createTransparentIcon(int width, int height)` Creates a transparent icon.
`java.lang.String` `formatMessage(java.lang.String key, java.lang.Object parameter)` Formats the message stored in the resource bundle (using a MessageFormat).
`java.lang.String` `formatMessage(java.lang.String key, java.lang.Object[] parameters)` Formats the message stored in the resource bundle (using a MessageFormat).
`java.lang.String` `formatMessage(java.lang.String key, java.lang.Object par1, java.lang.Object par2)` Formats the message stored in the resource bundle (using a MessageFormat).
`javax.swing.Icon` `getIcon(java.lang.String key)` Returns an unscaled icon.
`javax.swing.Icon` `getIcon(java.lang.String key, boolean large)` Returns an scaled icon suitable for buttons or menus.
`javax.swing.KeyStroke` `getKeyStroke(java.lang.String key)` Returns the keystroke stored at the given resourcebundle key.
`javax.swing.KeyStroke` `getKeyStroke(java.lang.String key, int mask)` Returns the keystroke stored at the given resourcebundle key.
`java.util.Locale` `getLocale()` Returns the current locale for this resource bundle.
`java.lang.Integer` `getMnemonic(java.lang.String key)` Returns the mnemonic stored at the given resourcebundle key.
`protected java.lang.String` `getResourceBase()` The base name of the resource bundle.
`java.net.URL` `getResourceURL(java.lang.String key)` Returns a URL pointing to a resource located in the classpath.
`java.lang.String` `getString(java.lang.String key)` Gets a string for the given key from this resource bundle or one of its parents.
`protected java.lang.String` `internalGetString(java.lang.String key)` Performs the lookup for the given key.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ResourceBundleSupport

    public ResourceBundleSupport(java.util.Locale locale,
                                 java.lang.String baseName)

  Creates a new instance.

  Parameters:
    `baseName` - the base name of the resource bundle, a fully qualified class name

### ResourceBundleSupport

    protected ResourceBundleSupport(java.util.Locale locale,
                                    java.util.ResourceBundle resourceBundle,
                                    java.lang.String baseName)

  Creates a new instance.

  Parameters:
    `locale` - the locale for which this resource bundle is created.
    `resourceBundle` - the resourcebundle
    `baseName` - the base name of the resource bundle, a fully qualified class name

### ResourceBundleSupport

    public ResourceBundleSupport(java.util.Locale locale,
                                 java.util.ResourceBundle resourceBundle)

  Creates a new instance.

  Parameters:
    `locale` - the locale for which the resource bundle is created.
    `resourceBundle` - the resourcebundle

### ResourceBundleSupport

    public ResourceBundleSupport(java.lang.String baseName)

  Creates a new instance.

  Parameters:
    `baseName` - the base name of the resource bundle, a fully qualified class name

### ResourceBundleSupport

    protected ResourceBundleSupport(java.util.ResourceBundle resourceBundle,
                                    java.lang.String baseName)

  Creates a new instance.

  Parameters:
    `resourceBundle` - the resourcebundle
    `baseName` - the base name of the resource bundle, a fully qualified class name

### ResourceBundleSupport

    public ResourceBundleSupport(java.util.ResourceBundle resourceBundle)

  Creates a new instance.

  Parameters:
    `resourceBundle` - the resourcebundle

Method Detail

### getResourceBase

    protected final java.lang.String getResourceBase()

  The base name of the resource bundle.

  Returns:
    the resource bundle's name.

### getString

    public java.lang.String getString(java.lang.String key)

  Gets a string for the given key from this resource bundle or one of its parents. If the key is a link, the link is resolved and the referenced string is returned instead.

  Parameters:
    `key` - the key for the desired string
  Returns:
    the string for the given key
  Throws:
    `java.lang.NullPointerException` - if `key` is `null`
    `java.util.MissingResourceException` - if no object for the given key can be found
    `java.lang.ClassCastException` - if the object found for the given key is not a string

### internalGetString

    protected java.lang.String internalGetString(java.lang.String key)

  Performs the lookup for the given key. If the key points to a link the link is resolved and that key is looked up instead.

  Parameters:
    `key` - the key for the string
  Returns:
    the string for the given key

### getIcon

    public javax.swing.Icon getIcon(java.lang.String key,
                                    boolean large)

  Returns an scaled icon suitable for buttons or menus.

  Parameters:
    `key` - the name of the resource bundle key
    `large` - true, if the image should be scaled to 24x24, or false for 16x16
  Returns:
    the icon.

### getIcon

    public javax.swing.Icon getIcon(java.lang.String key)

  Returns an unscaled icon.

  Parameters:
    `key` - the name of the resource bundle key
  Returns:
    the icon.

### getMnemonic

    public java.lang.Integer getMnemonic(java.lang.String key)

  Returns the mnemonic stored at the given resourcebundle key. The mnemonic should be either the symbolic name of one of the KeyEvent.VK_* constants (without the 'VK_') or the character for that key.

  For the enter key, the resource bundle would therefore either contain "ENTER" or "\n".

       a.resourcebundle.key=ENTER
       an.other.resourcebundle.key=\n

  Parameters:
    `key` - the resourcebundle key
  Returns:
    the mnemonic

### getKeyStroke

    public javax.swing.KeyStroke getKeyStroke(java.lang.String key)

  Returns the keystroke stored at the given resourcebundle key.

  The keystroke will be composed of a simple key press and the plattform's MenuKeyMask.

  The keystrokes character key should be either the symbolic name of one of the KeyEvent.VK_* constants or the character for that key.

  For the 'A' key, the resource bundle would therefore either contain "VK_A" or "a".

       a.resourcebundle.key=VK_A
       an.other.resourcebundle.key=a

  Parameters:
    `key` - the resourcebundle key
  Returns:
    the mnemonic
  See Also:
    `Toolkit.getMenuShortcutKeyMask()`

### getKeyStroke

    public javax.swing.KeyStroke getKeyStroke(java.lang.String key,
                                              int mask)

  Returns the keystroke stored at the given resourcebundle key.

  The keystroke will be composed of a simple key press and the given KeyMask. If the KeyMask is zero, a plain Keystroke is returned.

  The keystrokes character key should be either the symbolic name of one of the KeyEvent.VK_* constants or the character for that key.

  For the 'A' key, the resource bundle would therefore either contain "VK_A" or "a".

       a.resourcebundle.key=VK_A
       an.other.resourcebundle.key=a

  Parameters:
    `key` - the resourcebundle key
  Returns:
    the mnemonic
  See Also:
    `Toolkit.getMenuShortcutKeyMask()`

### createMenu

    public javax.swing.JMenu createMenu(java.lang.String keyPrefix)

  Returns a JMenu created from a resource bundle definition.

  The menu definition consists of two keys, the name of the menu and the mnemonic for that menu. Both keys share a common prefix, which is extended by ".name" for the name of the menu and ".mnemonic" for the mnemonic.

       # define the file menu
       menu.file.name=File
       menu.file.mnemonic=F

  The menu definition above can be used to create the menu by calling `createMenu ("menu.file")`.

  Parameters:
    `keyPrefix` - the common prefix for that menu
  Returns:
    the created menu

### getResourceURL

    public java.net.URL getResourceURL(java.lang.String key)

  Returns a URL pointing to a resource located in the classpath. The resource is looked up using the given key.

  Example: The load a file named 'logo.gif' which is stored in a java package named 'org.jfree.resources':

       mainmenu.logo=org/jfree/resources/logo.gif

  The URL for that file can be queried with: `getResource("mainmenu.logo");`.

  Parameters:
    `key` - the key for the resource
  Returns:
    the resource URL

### createTransparentIcon

    public javax.swing.Icon createTransparentIcon(int width,
                                                  int height)

  Creates a transparent icon. The Icon can be used for aligning menu items.

  Parameters:
    `width` - the width of the new icon
    `height` - the height of the new icon
  Returns:
    the created transparent icon.

### formatMessage

    public java.lang.String formatMessage(java.lang.String key,
                                          java.lang.Object parameter)

  Formats the message stored in the resource bundle (using a MessageFormat).

  Parameters:
    `key` - the resourcebundle key
    `parameter` - the parameter for the message
  Returns:
    the formated string

### formatMessage

    public java.lang.String formatMessage(java.lang.String key,
                                          java.lang.Object par1,
                                          java.lang.Object par2)

  Formats the message stored in the resource bundle (using a MessageFormat).

  Parameters:
    `key` - the resourcebundle key
    `par1` - the first parameter for the message
    `par2` - the second parameter for the message
  Returns:
    the formated string

### formatMessage

    public java.lang.String formatMessage(java.lang.String key,
                                          java.lang.Object[] parameters)

  Formats the message stored in the resource bundle (using a MessageFormat).

  Parameters:
    `key` - the resourcebundle key
    `parameters` - the parameter collection for the message
  Returns:
    the formated string

### getLocale

    public java.util.Locale getLocale()

  Returns the current locale for this resource bundle.

  Returns:
    the locale.