org.geotoolkit.util
Class ResourceInternationalString

Object
  extended by AbstractInternationalString
      extended by ResourceInternationalString
All Implemented Interfaces:
Serializable, CharSequence, Comparable<InternationalString>, Formattable, InternationalString

@Immutable
public class ResourceInternationalString
extends AbstractInternationalString
implements Serializable

An international string backed by a resource bundle. A resource bundle can be a Java class or a properties file, one for each language. The constructor expects the fully qualified class name of the base resource bundle (the one used when no resource was found in the client's language). The appropriate resource bundle is loaded at runtime for the client's language by looking for a class or a properties file with the right suffix, for example "_en" for English or "_fr" for French. This mechanism is explained in J2SE javadoc for the getBundle static method.

Example: If a file named "MyResources.properties" exists in the package org.geotoolkit.mypackage and contains a line like "MyKey = some value", then an international string for "some value" can be created using the following code:

InternationalString value =
    new ResourceInternationalString("org.geotoolkit.mypackage.MyResources", "MyKey");
The "some value" string will be localized if the required properties files exist, for example "MyResources_fr.properties" for French, "MyResources_it.properties" for Italian, etc.

Since:
2.1
Version:
3.13
Author:
Martin Desruisseaux (IRD), Johann Sorel (Geomatys)
See Also:
Serialized Form
Module:
utility/geotk-utility (download)    View source code for this class

Constructor Summary
ResourceInternationalString(String resources, String key)
          Creates a new international string from the specified resource bundle and key.
ResourceInternationalString(String resources, String key, ClassLoader loader)
          Creates a new international string from the specified resource bundle, key and class loader.
 
Method Summary
 boolean equals(Object object)
          Compares this international string with the specified object for equality.
protected  ResourceBundle getBundle(Locale locale)
          Returns the resource bundle for the given locale.
 int hashCode()
          Returns a hash code value for this international text.
 String toString(Locale locale)
          Returns a string in the specified locale.
 
Methods inherited from class AbstractInternationalString
charAt, compareTo, formatTo, length, subSequence, toString
 
Methods inherited from class Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ResourceInternationalString

public ResourceInternationalString(String resources,
                                   String key)
Creates a new international string from the specified resource bundle and key.

Parameters:
resources - The name of the resource bundle, as a fully qualified class name.
key - The key for the resource to fetch.

ResourceInternationalString

public ResourceInternationalString(String resources,
                                   String key,
                                   ClassLoader loader)
Creates a new international string from the specified resource bundle, key and class loader.

Parameters:
resources - The name of the resource bundle, as a fully qualified class name.
key - The key for the resource to fetch.
loader - The class loader to use for loading the resources file, or null for the default class loader.
Since:
3.13
Method Detail

toString

public String toString(Locale locale)
                throws MissingResourceException
Returns a string in the specified locale. If there is no string for the specified locale, then this method search for a string in an other locale as specified in the ResourceBundle class description.

Specified by:
toString in interface InternationalString
Specified by:
toString in class AbstractInternationalString
Parameters:
locale - The locale to look for, or null for an unlocalized version.
Returns:
The string in the specified locale, or in a default locale.
Throws:
MissingResourceException - is the key given to the constructor is invalid.

getBundle

protected ResourceBundle getBundle(Locale locale)
Returns the resource bundle for the given locale. The default implementation fetches the bundle from the name given at construction time. Subclasses can override this method if they need to fetch the bundle in an other way.

Parameters:
locale - The locale for which to get the resource bundle.
Returns:
The resource bundle for the given locale.
Since:
3.00
See Also:
ResourceBundle.getBundle(String,Locale)

equals

public boolean equals(Object object)
Compares this international string with the specified object for equality.

Overrides:
equals in class Object
Parameters:
object - The object to compare with this international string.
Returns:
true if the given object is equal to this string.

hashCode

public int hashCode()
Returns a hash code value for this international text.

Overrides:
hashCode in class Object


Copyright © 2009-2012 Geotoolkit.org. All Rights Reserved.