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 Detail

    - #### CalendarDataProvider

          protected CalendarDataProvider()

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

  - ### Method Detail

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