DecimalFormatSymbolsProvider (Java SE 23 & JDK 23)
Description: declaration: module: java.base, package: java.text.spi, class: DecimalFormatSymbolsProvider
Keywords: java.text.spi.DecimalFormatSymbolsProvider class

# Class DecimalFormatSymbolsProvider

java.lang.Object
java.util.spi.LocaleServiceProvider
java.text.spi.DecimalFormatSymbolsProvider

public abstract class DecimalFormatSymbolsProvider extends LocaleServiceProvider
An abstract class for service providers that provide instances of the `DecimalFormatSymbols` class.

The requested `Locale` may contain an extension for specifying the desired numbering system. For example, `"ar-u-nu-arab"` (in the BCP 47 language tag form) specifies Arabic with the Arabic-Indic digits and symbols, while `"ar-u-nu-latn"` specifies Arabic with the Latin digits and symbols. Refer to the Unicode Locale Data Markup Language (LDML) specification for numbering systems.

Since:
  1.6
See Also:
  - `Locale.forLanguageTag(String)`
  - `Locale.getExtension(char)`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `DecimalFormatSymbolsProvider()`
  Sole constructor.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract DecimalFormatSymbols`
  `getInstance(Locale locale)`
  Returns a new `DecimalFormatSymbols` instance 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

  - ### DecimalFormatSymbolsProvider

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

- ## Method Details

  - ### getInstance

    public abstract DecimalFormatSymbols getInstance(Locale locale)
    Returns a new `DecimalFormatSymbols` instance for the specified locale.
    Parameters:
      `locale` - the desired locale
    Returns:
      a `DecimalFormatSymbols` instance.
    Throws:
      `NullPointerException` - if `locale` is null
      `IllegalArgumentException` - if `locale` isn't one of the locales returned from `getAvailableLocales()`.
    See Also:
      - `DecimalFormatSymbols.getInstance(java.util.Locale)`