Module java.base
Package java.text.spi

# 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)`