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