java.util.spi
Class CurrencyNameProvider

java.lang.Object
  extended by java.util.spi.LocaleServiceProvider
      extended by java.util.spi.CurrencyNameProvider

public abstract class CurrencyNameProvider
extends LocaleServiceProvider

A CurrencyNameProvider provides localized versions of the symbols that represent a particular currency. Note that currency symbols are regarded as names, and thus a null value may be returned, which should be treated as a lack of support for the specified Locale.

Since:
1.6

Constructor Summary
protected CurrencyNameProvider()
          Constructs a new CurrencyNameProvider.
 
Method Summary
abstract  String getSymbol(String currencyCode, Locale locale)
           This method returns the symbol which precedes or follows a value in this particular currency.
 
Methods inherited from class java.util.spi.LocaleServiceProvider
getAvailableLocales
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CurrencyNameProvider

protected CurrencyNameProvider()
Constructs a new CurrencyNameProvider. Provided for implicit invocation by subclasses.

Method Detail

getSymbol

public abstract String getSymbol(String currencyCode,
                                 Locale locale)

This method returns the symbol which precedes or follows a value in this particular currency. The returned value is the symbol used to denote the currency in the specified locale.

For example, a supplied locale may specify a different symbol for the currency, due to conflicts with its own currency. This would be the case with the American currency, the dollar. Locales that also use a dollar-based currency (e.g. Canada, Australia) need to differentiate the American dollar using 'US$' rather than '$'. So, supplying one of these locales to getSymbol() would return this value, rather than the standard '$'.

In cases where there is no such symbol for a particular currency, null should be returned.

Parameters:
currencyCode - the ISO 4217 currency code, consisting of three uppercase letters from 'A' to 'Z'
locale - the locale to express the symbol in.
Returns:
the currency symbol, or null if one is unavailable.
Throws:
NullPointerException - if the locale is null.
IllegalArgumentException - if the currency code is not in the correct format or the locale is not one returned by LocaleServiceProvider.getAvailableLocales()
See Also:
Currency.getSymbol(java.util.Locale)