diva.resource
Class RelativeBundle

java.lang.Object
  extended by java.util.ResourceBundle
      extended by diva.resource.RelativeBundle
Direct Known Subclasses:
DefaultBundle

public class RelativeBundle
extends java.util.ResourceBundle

A class for managing resources. This class is an extension to the standard ResourceBundle that allows you to construct ResourceBundles that

Version:
$Id: RelativeBundle.java 38798 2005-07-08 20:00:01Z cxh $
Author:
John Reekie

Field Summary
private  java.util.ResourceBundle _delegate
          The actual ResourceBundle
private  java.util.HashMap _imageIcons
          Icons that have already been loaded
private  java.lang.Class _loader
          The class that is to be used to look up URL resources from this bundle.
 
Fields inherited from class java.util.ResourceBundle
parent
 
Constructor Summary
RelativeBundle(java.lang.String baseName, java.lang.Class loader, java.util.ResourceBundle overrides)
          Create a new RelativeBundle using the given basename, with the given class as the loader for URL-based resources, and with the given ResourceBundle as the one that gets overridden.
 
Method Summary
 java.awt.Image getImage(java.lang.String key)
          Get a resource as an image.
 javax.swing.ImageIcon getImageIcon(java.lang.String key)
          Get a resource as an image icon.
 java.util.Enumeration getKeys()
          Get an enumeration over the keys
 java.net.URL getResource(java.lang.String key)
          Get a resource as an absolute URL.
 java.io.InputStream getResourceAsStream(java.lang.String key)
          Get a resource as an input stream.
protected  java.lang.Object handleGetObject(java.lang.String key)
          Get an object from a ResourceBundle.
 
Methods inherited from class java.util.ResourceBundle
getBundle, getBundle, getBundle, getLocale, getObject, getString, getStringArray, setParent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_loader

private java.lang.Class _loader
The class that is to be used to look up URL resources from this bundle.


_imageIcons

private java.util.HashMap _imageIcons
Icons that have already been loaded


_delegate

private java.util.ResourceBundle _delegate
The actual ResourceBundle

Constructor Detail

RelativeBundle

public RelativeBundle(java.lang.String baseName,
                      java.lang.Class loader,
                      java.util.ResourceBundle overrides)
Create a new RelativeBundle using the given basename, with the given class as the loader for URL-based resources, and with the given ResourceBundle as the one that gets overridden. The loader must be such that the resource paths in the properties file ("baseName.properties") are relative to the package containing that class. For example, you could create a default Bundle and override it as follows:
   RelativeBundle default = new diva.resource.Default();
   RelativeBundle resource = new RelativeBundle(
       "mypackage.resource.MyResources", getClass(), default);
 

 In this example, the file mypackage/resource/MyResource.properties
 would contain resource such as
 
    LoadImage = resources/load.gif
    SaveImage = resources/save.gif
 

If you don't mind cluttering up your source directory with resource files, then it's probably better to put the resource file in the same directory as the application classes, so the properties files doesn't need the "resources/" strings.

Method Detail

getResource

public java.net.URL getResource(java.lang.String key)
Get a resource as an absolute URL.


getResourceAsStream

public java.io.InputStream getResourceAsStream(java.lang.String key)
Get a resource as an input stream.


getImageIcon

public javax.swing.ImageIcon getImageIcon(java.lang.String key)
Get a resource as an image icon. Return null if not found. (Or should this throw an exception?)


getImage

public java.awt.Image getImage(java.lang.String key)
Get a resource as an image. Return null if not found. (Or should this throw an exception?)


handleGetObject

protected java.lang.Object handleGetObject(java.lang.String key)
                                    throws java.util.MissingResourceException
Get an object from a ResourceBundle.

Specified by:
handleGetObject in class java.util.ResourceBundle
Throws:
java.util.MissingResourceException

getKeys

public java.util.Enumeration getKeys()
Get an enumeration over the keys

Specified by:
getKeys in class java.util.ResourceBundle