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
`protected` `CalendarDataProvider()` Sole constructor.

### Method Summary

All Methods Instance Methods Abstract Methods
`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()`