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