java.util.spi

Class CurrencyNameProvider

public abstract class CurrencyNameProvider extends LocaleServiceProvider

A {@link 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 {@link Locale}.

Since: 1.6

Constructor Summary
protected CurrencyNameProvider()
Constructs a new {@link CurrencyNameProvider}.
Method Summary
abstract StringgetSymbol(String currencyCode, Locale locale)

This method returns the symbol which precedes or follows a value in this particular currency.

Constructor Detail

CurrencyNameProvider

protected CurrencyNameProvider()
Constructs a new {@link 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 {@link getAvailableLocales()}

See Also: getSymbol