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

Module java.base
Package java.text.spi

# Class NumberFormatProvider

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

    public abstract class NumberFormatProvider
    extends LocaleServiceProvider

An abstract class for service providers that provide concrete implementations of the `NumberFormat` class.

Since:
  1.6

- ## Constructor Summary

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

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `NumberFormat` | `getCompactNumberInstance​(Locale locale, NumberFormat.Style formatStyle)` | Returns a new `NumberFormat` instance which formats a number in its compact form for the specified `locale` and `formatStyle`.
  `abstract NumberFormat` | `getCurrencyInstance​(Locale locale)` | Returns a new `NumberFormat` instance which formats monetary values for the specified locale.
  `abstract NumberFormat` | `getIntegerInstance​(Locale locale)` | Returns a new `NumberFormat` instance which formats integer values for the specified locale.
  `abstract NumberFormat` | `getNumberInstance​(Locale locale)` | Returns a new general-purpose `NumberFormat` instance for the specified locale.
  `abstract NumberFormat` | `getPercentInstance​(Locale locale)` | Returns a new `NumberFormat` instance which formats percentage values 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

  - ### NumberFormatProvider

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

- ## Method Details

  - ### getCurrencyInstance

    public abstract NumberFormat getCurrencyInstance​(Locale locale)
    Returns a new `NumberFormat` instance which formats monetary values for the specified locale.
    Parameters:
      `locale` - the desired locale.
    Returns:
      a currency formatter
    Throws:
      `NullPointerException` - if `locale` is null
      `IllegalArgumentException` - if `locale` isn't one of the locales returned from `getAvailableLocales()`.
    See Also:
      `NumberFormat.getCurrencyInstance(java.util.Locale)`

  - ### getIntegerInstance

    public abstract NumberFormat getIntegerInstance​(Locale locale)
    Returns a new `NumberFormat` instance which formats integer values for the specified locale. The returned number format is configured to round floating point numbers to the nearest integer using half-even rounding (see `HALF_EVEN`) for formatting, and to parse only the integer part of an input string (see `isParseIntegerOnly`).
    Parameters:
      `locale` - the desired locale
    Returns:
      a number format for integer values
    Throws:
      `NullPointerException` - if `locale` is null
      `IllegalArgumentException` - if `locale` isn't one of the locales returned from `getAvailableLocales()`.
    See Also:
      `NumberFormat.getIntegerInstance(java.util.Locale)`

  - ### getNumberInstance

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

  - ### getPercentInstance

    public abstract NumberFormat getPercentInstance​(Locale locale)
    Returns a new `NumberFormat` instance which formats percentage values for the specified locale.
    Parameters:
      `locale` - the desired locale
    Returns:
      a percent formatter
    Throws:
      `NullPointerException` - if `locale` is null
      `IllegalArgumentException` - if `locale` isn't one of the locales returned from `getAvailableLocales()`.
    See Also:
      `NumberFormat.getPercentInstance(java.util.Locale)`

  - ### getCompactNumberInstance

    public NumberFormat getCompactNumberInstance​(Locale locale, NumberFormat.Style formatStyle)
    Returns a new `NumberFormat` instance which formats a number in its compact form for the specified `locale` and `formatStyle`.
    Implementation Requirements:
      The default implementation of this method throws `UnSupportedOperationException`. Overriding the implementation of this method returns the compact number formatter instance of the given `locale` with specified `formatStyle`.
    Parameters:
      `locale` - the desired locale
      `formatStyle` - the style for formatting a number
    Returns:
      a compact number formatter
    Throws:
      `NullPointerException` - if `locale` or `formatStyle` is `null`
      `IllegalArgumentException` - if `locale` is not one of the locales returned from `getAvailableLocales()`.
    Since:
      12
    See Also:
      `NumberFormat.getCompactNumberInstance(Locale, NumberFormat.Style)`