Class ResourceBundleSupport

java.lang.Object
org.pentaho.reporting.libraries.base.util.ResourceBundleSupport
Direct Known Subclasses:
Messages

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

    Constructors
    Constructor
    Description
    ResourceBundleSupport(java.lang.String baseName)
    Creates a new instance.
    ResourceBundleSupport(java.util.Locale locale, java.lang.String baseName)
    Creates a new instance.
    ResourceBundleSupport(java.util.Locale locale, java.util.ResourceBundle resourceBundle)
    Creates a new instance.
    ResourceBundleSupport(java.util.ResourceBundle resourceBundle)
    Creates a new instance.
  • Method Summary

    Modifier and Type
    Method
    Description
    javax.swing.JMenu
    createMenu(java.lang.String keyPrefix)
    Returns a JMenu created from a resource bundle definition.
    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
    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.
    javax.swing.KeyStroke
    getOptionalKeyStroke(java.lang.String key)
    Returns the keystroke stored at the given resourcebundle key.
    javax.swing.KeyStroke
    getOptionalKeyStroke(java.lang.String key, int mask)
    Returns the keystroke stored at the given resourcebundle key.
    java.lang.Integer
    getOptionalMnemonic(java.lang.String key)
    Returns the mnemonic stored at the given resourcebundle key.
    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.

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ResourceBundleSupport

      public ResourceBundleSupport(java.util.Locale locale, java.lang.String baseName)
      Creates a new instance.
      Parameters:
      locale - the locale that should be used to load the resource-bundle.
      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

      public ResourceBundleSupport(java.util.ResourceBundle resourceBundle)
      Creates a new instance.
      Parameters:
      resourceBundle - the resourcebundle
  • Method Details

    • 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
    • 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
    • getOptionalMnemonic

      public java.lang.Integer getOptionalMnemonic(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 or null, if the mnemonic is not defined.
    • 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 keystroke
      See Also:
      • Toolkit.getMenuShortcutKeyMask()
    • getOptionalKeyStroke

      public javax.swing.KeyStroke getOptionalKeyStroke(java.lang.String key)
      Returns the keystroke stored at the given resourcebundle key.

      The keystroke will be composed of a simple key press and a keystroke mask pattern. The pattern should be specified via the words "shift", "alt", "ctrl", "meta" or "menu". Menu should be used to reference the platform specific menu shortcut. For the sake of safety, menu should only be combined with "shift" and/or "alt" for menu keystrokes.

      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 keystroke
      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
      mask - the key-moifier mask to be used to create the keystroke.
      Returns:
      the keystroke that has been generated.
      See Also:
      • Toolkit.getMenuShortcutKeyMask()
    • getOptionalKeyStroke

      public javax.swing.KeyStroke getOptionalKeyStroke(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
      mask - the key-moifier mask to be used to create the keystroke.
      Returns:
      the keystroke or null if the key is not defined.
      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
    • 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.