CalendarDataProvider (Java Platform SE 8 )
Keywords: java.util.spi.CalendarDataProvider class
Date: 2026-04-24

compact1, compact2, compact3
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 and Description
    --- | ---
    `protected` | `CalendarDataProvider()` Sole constructor.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and 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 inherited from class java.util.spi.LocaleServiceProvider

      `getAvailableLocales, isSupportedLocale`

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

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.