CurrencyNameProvider (Java SE 13 & JDK 13 )
Description: declaration: module: java.base, package: java.util.spi, class: CurrencyNameProvider
Keywords: java.util.spi.CurrencyNameProvider class

Module java.base
Package java.util.spi

# Class CurrencyNameProvider

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

    public abstract class CurrencyNameProvider
    extends LocaleServiceProvider

An abstract class for service providers that provide localized currency symbols and display names for the `Currency` class. Note that currency symbols are considered names when determining behaviors described in the `LocaleServiceProvider` specification.

Since:
  1.6

- ## Constructor Summary

  Constructors
  Modifier | Constructor | Description
  --- | --- | ---
  `protected` | `CurrencyNameProvider()` | Sole constructor.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `String` | `getDisplayName​(String currencyCode, Locale locale)` | Returns a name for the currency that is appropriate for display to the user.
  `abstract String` | `getSymbol​(String currencyCode, Locale locale)` | Gets the symbol of the given currency code for the specified locale.

  ### Methods declared in class java.util.spi.LocaleServiceProvider

  `getAvailableLocales, isSupportedLocale`

  ### Methods declared in class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### CurrencyNameProvider

    protected CurrencyNameProvider()
    Sole constructor. (For invocation by subclass constructors, typically implicit.)

- ## Method Details

  - ### getSymbol

    public abstract String getSymbol​(String currencyCode, Locale locale)
    Gets the symbol of the given currency code for the specified locale. For example, for "USD" (US Dollar), the symbol is "$" if the specified locale is the US, while for other locales it may be "US$". If no symbol can be determined, null should be returned.
    Parameters:
      `currencyCode` - the ISO 4217 currency code, which consists of three upper-case letters between 'A' (U+0041) and 'Z' (U+005A)
      `locale` - the desired locale
    Returns:
      the symbol of the given currency code for the specified locale, or null if the symbol is not available for the locale
    Throws:
      `NullPointerException` - if `currencyCode` or `locale` is null
      `IllegalArgumentException` - if `currencyCode` is not in the form of three upper-case letters, or `locale` isn't one of the locales returned from `getAvailableLocales()`.
    See Also:
      `Currency.getSymbol(java.util.Locale)`

  - ### getDisplayName

    public String getDisplayName​(String currencyCode, Locale locale)
    Returns a name for the currency that is appropriate for display to the user. The default implementation returns null.
    Parameters:
      `currencyCode` - the ISO 4217 currency code, which consists of three upper-case letters between 'A' (U+0041) and 'Z' (U+005A)
      `locale` - the desired locale
    Returns:
      the name for the currency that is appropriate for display to the user, or null if the name is not available for the locale
    Throws:
      `IllegalArgumentException` - if `currencyCode` is not in the form of three upper-case letters, or `locale` isn't one of the locales returned from `getAvailableLocales()`.
      `NullPointerException` - if `currencyCode` or `locale` is `null`
    Since:
      1.7