Класс CalendarNameProvider

public abstract class CalendarNameProvider
extends LocaleServiceProvider

Абстрактный класс для поставщиков сервисов, предоставляющих локализованные строковые представления (отображаемые имена) значений полей Calendar.

Типы календарей

Типы календарей используются для указания систем календарей, для которых методы getDisplayName и getDisplayNames предоставляют имена значений полей календаря. Подробности см. в Calendar.getCalendarType().

Поля календаря

Поля календаря задаются константами, определёнными в Calendar. Ниже приведены общие для календаря поля и их значения, которые должны поддерживаться для каждой системы календаря.

Поле Значение Описание
Calendar.MONTH Calendar.JANUARY до Calendar.UNDECIMBER Нумерация месяцев основана на 0 (например, 0 — январь, ..., 11 — декабрь). Некоторые системы календарей имеют 13 месяцев. Имена месяцев должны поддерживаться как в формате форматирования, так и в формате самостоятельного отображения, если это требуется поддерживаемыми локалями. Если различия между двумя формами отсутствуют, должны возвращаться одинаковые имена в обоих форматах.
Calendar.DAY_OF_WEEK Calendar.SUNDAY до Calendar.SATURDAY Нумерация дней недели основана на 1, начиная с воскресенья (т.е., 1 — воскресенье, ..., 7 — суббота).
Calendar.AM_PM Calendar.AM до Calendar.PM 0 — AM, 1 — PM

Ниже приведены поля, специфичные для календаря, и их значения, которые должны поддерживаться.

Тип календаря Поле Значение Описание
"gregory" Calendar.ERA 0 GregorianCalendar.BC (до н. э.)
1 GregorianCalendar.AD (н. э.)
"buddhist" Calendar.ERA 0 до н. э. (до н. э.)
1 БЭ (буддийская эра)
"japanese" Calendar.ERA 0 Сеирёки (до Мэйдзи)
1 Мэйдзи
2 Тайсё
3 Сёва
4 Хэйсэй
Calendar.YEAR 1 первый год каждой эры. Он должен возвращаться, когда указан длинный стиль (Calendar.LONG_FORMAT или Calendar.LONG_STANDALONE). См. также представление года в SimpleDateFormat.
"roc" Calendar.ERA 0 До Р.О.Ц.
1 Р.О.Ц.
"islamic" Calendar.ERA 0 До AH
1 Хиджра (AH)

Имена значений полей календаря для "gregory" должны быть согласованы со знаками даты и времени, предоставленными DateFormatSymbolsProvider.

Имена часовых поясов поддерживаются TimeZoneNameProvider.

С момента:
1.8
См. также:
CalendarDataProvider, Locale.getUnicodeLocaleType(String)

Конструкторы

Модификатор Конструктор Описание
protected CalendarNameProvider()

Единственный конструктор.

Методы

Модификатор и тип Метод Описание
abstract String getDisplayName​(String calendarType, int field, int value, int style, Locale locale)

Возвращает строковое представление (отображаемое имя) календаря field value в заданной style и locale.

abstract Map<String,​Integer> getDisplayNames​(String calendarType, int field, int style, Locale locale)

Возвращает Map, содержащий все строковые представления (отображаемые имена) полей Calendar field в заданной style и locale и их соответствующие значения полей.

Методы, объявленные в классе java.util.spi.LocaleServiceProvider

getAvailableLocales, isSupportedLocale

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Конструкторы

CalendarNameProvider

protected CalendarNameProvider()

Единственный конструктор. (Для вызова подклассами, обычно неявный.)

Методы

getDisplayName

public abstract String getDisplayName(String calendarType,
                                      int field,
                                      int value,
                                      int style,
                                      Locale locale)

Возвращает строковое представление (отображаемое имя) календаря field value в заданном style и locale. Если такое строковое представление не применимо, возвращается null.

field — индекс поля Calendar, например, Calendar.MONTH. Поля часового пояса, Calendar.ZONE_OFFSET и Calendar.DST_OFFSET, не поддерживаются этим методом. null необходимо вернуть, если указаны какие-либо поля часового пояса.

value — числовое представление значения field. Например, если field — Calendar.DAY_OF_WEEK, допустимые значения — от Calendar.SUNDAY до Calendar.SATURDAY (включительно).

style определяет стиль строкового представления. Это одно из значений Calendar.SHORT_FORMAT (SHORT), Calendar.SHORT_STANDALONE, Calendar.LONG_FORMAT (LONG), Calendar.LONG_STANDALONE, Calendar.NARROW_FORMAT или Calendar.NARROW_STANDALONE.

Например, следующий вызов вернёт "Sunday".

getDisplayName("gregory", Calendar.DAY_OF_WEEK, Calendar.SUNDAY,
                Calendar.LONG_STANDALONE, Locale.ENGLISH);
Параметры:
calendarType — тип календаря. (Любой тип календаря, заданный locale, игнорируется.)
field — индекс поля Calendar, например, Calendar.DAY_OF_WEEK
value — значение поля Calendar field, например, Calendar.MONDAY
style — стиль строкового представления: одно из значений Calendar.SHORT_FORMAT (SHORT), Calendar.SHORT_STANDALONE, Calendar.LONG_FORMAT (LONG), Calendar.LONG_STANDALONE, Calendar.NARROW_FORMAT или Calendar.NARROW_STANDALONE
locale — желаемый регион
Возвращает:
строковое представление field value, или null, если строковое представление не применимо или заданный тип календаря неизвестен
Исключения:
IllegalArgumentException — если field или style неверны
NullPointerException — если locale — null
См. также:
TimeZoneNameProvider, Calendar.get(int), Calendar.getDisplayName(int, int, Locale)

getDisplayNames

public abstract Map<String,Integer> getDisplayNames​(String calendarType,
                                                          int field,
                                                          int style,
                                                          Locale locale)

Возвращает Map, содержащий все строковые представления (отображаемые имена) Calendar field в заданном style и locale, а также соответствующие значения полей.

field — индекс поля Calendar, например, Calendar.MONTH. Поля часового пояса, Calendar.ZONE_OFFSET и Calendar.DST_OFFSET, не поддерживаются этим методом. null необходимо вернуть, если указаны какие-либо поля часового пояса.

style определяет стиль строкового представления. Он должен быть одним из Calendar.ALL_STYLES, Calendar.SHORT_FORMAT (SHORT), Calendar.SHORT_STANDALONE, Calendar.LONG_FORMAT (LONG), Calendar.LONG_STANDALONE, Calendar.NARROW_FORMAT или Calendar.NARROW_STANDALONE. Обратите внимание, что имена с узким форматом могут не быть уникальными из-за использования одиночных символов, таких как "В" для воскресенья и субботы, и в этом случае никакие имена с узким форматом не включены.

Например, следующий вызов вернёт Map, содержащий "January" по Calendar.JANUARY, "Jan" по Calendar.JANUARY, "February" по Calendar.FEBRUARY, "Feb" по Calendar.FEBRUARY и так далее.

getDisplayNames("gregory", Calendar.MONTH, Calendar.ALL_STYLES, Locale.ENGLISH);
Параметры:
calendarType — тип календаря. (Любой тип календаря, заданный locale, игнорируется.)
field — поле календаря, для которого возвращаются отображаемые имена
style — стиль, применяемый к отображаемым именам; одно из Calendar.ALL_STYLES, Calendar.SHORT_FORMAT (SHORT), Calendar.SHORT_STANDALONE, Calendar.LONG_FORMAT (LONG), Calendar.LONG_STANDALONE, Calendar.NARROW_FORMAT или Calendar.NARROW_STANDALONE
locale — желаемый регион
Возвращает:
Map содержащий все отображаемые имена field в style и locale и их field значения, или null, если для field отображаемых имен не определено
Исключения:
NullPointerException — если locale — null
См. также:
Calendar.getDisplayNames(int, int, Locale)

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/spi/CalendarNameProvider.html

Spec-Zone .ru
спецификации, руководства, описания, API