Module java.base
Package java.util.spi

# Class CalendarDataProvider

java.lang.Object
java.util.spi.LocaleServiceProvider
java.util.spi.CalendarDataProvider

public abstract class CalendarDataProvider extends LocaleServiceProvider
An abstract class for service providers that provide locale-dependent `Calendar` parameters.

Since:
  1.8
See Also:
  - `CalendarNameProvider`

## Constructor Summary

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

## Method Summary

Modifier and Type
Method
Description
`abstract int`
`getFirstDayOfWeek(Locale locale)`
Returns the first day of a week in the given `locale`.
`abstract int`
`getMinimalDaysInFirstWeek(Locale locale)`
Returns the minimal number of days required in the first week of a year.

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

### CalendarDataProvider

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

## Method Details

### getFirstDayOfWeek

public abstract int getFirstDayOfWeek(Locale locale)
Returns the first day of a week in the given `locale`. This information is required by `Calendar` to support operations on the week-related calendar fields.

Parameters:
  `locale` - the desired locale
Returns:
  the first day of a week; one of `Calendar.SUNDAY` .. `Calendar.SATURDAY`, or 0 if the value isn't available for the `locale`
Throws:
  `NullPointerException` - if `locale` is `null`.
See Also:
  - `Calendar.getFirstDayOfWeek()`
  - First Week

### getMinimalDaysInFirstWeek

public abstract int getMinimalDaysInFirstWeek(Locale locale)
Returns the minimal number of days required in the first week of a year. This information is required by `Calendar` to determine the first week of a year. Refer to the description of how `Calendar` determines the first week.

Parameters:
  `locale` - the desired locale
Returns:
  the minimal number of days of the first week, or 0 if the value isn't available for the `locale`
Throws:
  `NullPointerException` - if `locale` is `null`.
See Also:
  - `Calendar.getMinimalDaysInFirstWeek()`