Module java.base
Package java.text.spi

# Class DateFormatProvider

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

public abstract class DateFormatProvider extends LocaleServiceProvider
An abstract class for service providers that provide concrete implementations of the `DateFormat` class.

Since:
  1.6

## Constructor Summary

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

## Method Summary

Modifier and Type
Method
Description
`abstract DateFormat`
`getDateInstance(int style, Locale locale)`
Returns a new `DateFormat` instance which formats date with the given formatting style for the specified locale.
`abstract DateFormat`
`getDateTimeInstance(int dateStyle, int timeStyle, Locale locale)`
Returns a new `DateFormat` instance which formats date and time with the given formatting style for the specified locale.
`abstract DateFormat`
`getTimeInstance(int style, Locale locale)`
Returns a new `DateFormat` instance which formats time with the given formatting style 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

### DateFormatProvider

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

## Method Details

### getTimeInstance

public abstract DateFormat getTimeInstance(int style, Locale locale)
Returns a new `DateFormat` instance which formats time with the given formatting style for the specified locale.

Parameters:
  `style` - the given formatting style. Either one of `DateFormat.SHORT`, `DateFormat.MEDIUM`, `DateFormat.LONG`, or `DateFormat.FULL`.
  `locale` - the desired locale.
Returns:
  a time formatter.
Throws:
  `IllegalArgumentException` - if `style` is invalid, or if `locale` isn't one of the locales returned from `getAvailableLocales()`.
  `NullPointerException` - if `locale` is null
See Also:
  - `DateFormat.getTimeInstance(int, java.util.Locale)`

### getDateInstance

public abstract DateFormat getDateInstance(int style, Locale locale)
Returns a new `DateFormat` instance which formats date with the given formatting style for the specified locale.

Parameters:
  `style` - the given formatting style. Either one of `DateFormat.SHORT`, `DateFormat.MEDIUM`, `DateFormat.LONG`, or `DateFormat.FULL`.
  `locale` - the desired locale.
Returns:
  a date formatter.
Throws:
  `IllegalArgumentException` - if `style` is invalid, or if `locale` isn't one of the locales returned from `getAvailableLocales()`.
  `NullPointerException` - if `locale` is null
See Also:
  - `DateFormat.getDateInstance(int, java.util.Locale)`

### getDateTimeInstance

public abstract DateFormat getDateTimeInstance(int dateStyle, int timeStyle, Locale locale)
Returns a new `DateFormat` instance which formats date and time with the given formatting style for the specified locale.

Parameters:
  `dateStyle` - the given date formatting style. Either one of `DateFormat.SHORT`, `DateFormat.MEDIUM`, `DateFormat.LONG`, or `DateFormat.FULL`.
  `timeStyle` - the given time formatting style. Either one of `DateFormat.SHORT`, `DateFormat.MEDIUM`, `DateFormat.LONG`, or `DateFormat.FULL`.
  `locale` - the desired locale.
Returns:
  a date/time formatter.
Throws:
  `IllegalArgumentException` - if `dateStyle` or `timeStyle` is invalid, or if `locale` isn't one of the locales returned from `getAvailableLocales()`.
  `NullPointerException` - if `locale` is null
See Also:
  - `DateFormat.getDateTimeInstance(int, int, java.util.Locale)`