Spec-Zone.ru › OpenJDK 8

Класс AbstractChronology

  • java.lang.Object
    • java.time.chrono.AbstractChronology
Все реализованные интерфейсы:
Comparable<Chronology>, Chronology
Непосредственные известные подклассы:
HijrahChronology, IsoChronology, JapaneseChronology, MinguoChronology, ThaiBuddhistChronology

public abstract class AbstractChronology
extends Object
implements Chronology

Абстрактная реализация системы календаря, используемая для организации и идентификации дат.

Основной API для дат и времени построен на системе календаря ISO. Хронология работает в фоновом режиме, представляя общее понятие системы календаря.

См. Chronology для получения более подробной информации.

Требования к реализации:
Этот класс отделен от интерфейса Chronology, чтобы статические методы не наследовались. Хотя Chronology можно реализовать непосредственно, настоятельно рекомендуется расширить этот абстрактный класс вместо этого.

Этот класс должен быть реализован с осторожностью, чтобы обеспечить правильную работу других классов. Все реализуемые экземпляры должны быть конечными, неизменяемыми и потокобезопасными. Подклассы должны быть сериализуемыми всякий раз, когда это возможно.

С:
1.8

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

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

Создает экземпляр.

Методы

Модификатор и тип Метод и описание
int compareTo(Chronology other)

Сравнивает эту хронологию с другой хронологией.

boolean equals(Object obj)

Проверяет, равна ли эта хронология другой хронологии.

int hashCode()

Хеш-код для этой хронологии.

ChronoLocalDate resolveDate(Map<TemporalField,Long> fieldValues, ResolverStyle resolverStyle)

Решает значения, разобранные ChronoField, в дату во время разбора.

String toString()

Выводит эту хронологию как String, используя идентификатор хронологии.

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

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Методы, унаследованные от интерфейса java.time.chrono.Chronology

date, date, date, dateEpochDay, dateNow, dateNow, dateNow, dateYearDay, dateYearDay, eraOf, eras, from, getCalendarType, getDisplayName, getId, isLeapYear, localDateTime, period, prolepticYear, range, zonedDateTime, zonedDateTime

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

AbstractChronology

protected AbstractChronology()

Создаёт экземпляр.

Методы

resolveDate

public ChronoLocalDate resolveDate(Map<TemporalField,Long> fieldValues,
                                   ResolverStyle resolverStyle)

Разрешает проанализированные ChronoField значения в дату во время анализа.

Большинство TemporalField реализаций разрешаются с помощью метода resolve для поля. В отличие от этого, класс ChronoField определяет поля, имеющие смысл только относительно хронологии. Таким образом, ChronoField поля даты разрешаются здесь в контексте конкретной хронологии.

Экземпляры ChronoField разрешаются этим методом, который может быть переопределён в подклассах.

  • EPOCH_DAY - Если присутствует, то он преобразуется в дату, а затем все другие поля даты проверяются на соответствие этой дате.
  • PROLEPTIC_MONTH - Если присутствует, то он разделяется на YEAR и MONTH_OF_YEAR. Если режим строгий или интеллектуальный, то поле проверяется.
  • YEAR_OF_ERA и ERA - Если оба присутствуют, то они объединяются, образуя YEAR. В режиме смягчения проверки диапазон YEAR_OF_ERA не проверяется, в режиме интеллектуальной и строгой проверки он проверяется. Диапазон ERA проверяется во всех трёх режимах. Если присутствует только YEAR_OF_ERA, а режим интеллектуальный или смягчённый, то используется последняя доступная эра. В строгом режиме эра не предполагается, и YEAR_OF_ERA остаётся без изменений. Если присутствует только ERA, то оно остаётся без изменений.
  • YEAR, MONTH_OF_YEAR и DAY_OF_MONTH - Если все три присутствуют, то они объединяются, образуя дату. Во всех трёх режимах YEAR проверяется. Если режим интеллектуальный или строгий, то месяц и день проверяются. Если режим смягчённый, то дата объединяется таким образом, как если бы она создавалась в первый день первого месяца в запрошенном году, затем добавлялась разница в месяцах, а затем разница в днях. Если режим интеллектуальный, а день месяца больше максимального для месяца-года, то день месяца корректируется до последнего дня месяца. Если режим строгий, то три поля должны образовать корректную дату.
  • YEAR и DAY_OF_YEAR - Если оба присутствуют, то они объединяются, образуя дату. Во всех трёх режимах YEAR проверяется. Если режим смягчённый, то дата объединяется так, как если бы она создавалась в первый день запрошенного года, а затем добавлялась разница в днях. Если режим интеллектуальный или строгий, то два поля должны образовать корректную дату.
  • YEAR, MONTH_OF_YEAR, ALIGNED_WEEK_OF_MONTH и ALIGNED_DAY_OF_WEEK_IN_MONTH - Если все четыре присутствуют, то они объединяются, образуя дату. Во всех трёх режимах YEAR проверяется. Если режим смягчённый, то дата объединяется таким образом, как если бы она создавалась в первый день первого месяца в запрошенном году, затем добавлялась разница в месяцах, затем в неделях, затем в днях. Если режим интеллектуальный или строгий, то все четыре поля проверяются на соответствие своим внешним диапазонам. Затем дата объединяется так, как если бы она создавалась в первый день запрошенного года и месяца, а затем добавлялось количество недель и дней, чтобы достичь их значений. Если режим строгий, то дата дополнительно проверяется на то, что корректировка дня и недели не изменила месяц.
  • YEAR, MONTH_OF_YEAR, ALIGNED_WEEK_OF_MONTH и DAY_OF_WEEK - Если все четыре присутствуют, то они объединяются, образуя дату. Подход такой же, как описано выше для годов, месяцев и недель в ALIGNED_DAY_OF_WEEK_IN_MONTH. День недели корректируется как следующий или тот же соответствующий день недели после обработки годов, месяцев и недель.
  • YEAR, ALIGNED_WEEK_OF_YEAR и ALIGNED_DAY_OF_WEEK_IN_YEAR - Если все три присутствуют, то они объединяются, образуя дату. Во всех трёх режимах YEAR проверяется. Если режим смягчённый, то дата объединяется так, как если бы она создавалась в первый день запрошенного года, затем добавлялась разница в неделях, затем в днях. Если режим интеллектуальный или строгий, то все три поля проверяются на соответствие своим внешним диапазонам. Затем дата объединяется так, как если бы она создавалась в первый день запрошенного года, а затем добавлялось количество недель и дней, чтобы достичь их значений. Если режим строгий, то дата дополнительно проверяется на то, что корректировка дня и недели не изменила год.
  • YEAR, ALIGNED_WEEK_OF_YEAR и DAY_OF_WEEK - Если все три присутствуют, то они объединяются, образуя дату. Подход такой же, как описано выше для годов и недель в ALIGNED_DAY_OF_WEEK_IN_YEAR. День недели корректируется как следующий или тот же соответствующий день недели после обработки годов и недель.

По умолчанию реализация подходит для большинства календарных систем. Если ChronoField.YEAR_OF_ERA найдено без ChronoField.ERA, то используется последняя эра в Chronology.eras(). Реализация предполагает 7-дневную неделю, что первый день месяца имеет значение 1, что первый день года имеет значение 1, и что первый день месяца и года всегда существует.

Указывается:
resolveDate в интерфейсе Chronology
Параметры:
fieldValues - карта полей со значениями, которая может быть обновлена, не null
resolverStyle - запрашиваемый тип разрешения, не null
Возвращает:
разрешённая дата, null, если недостаточно информации для создания даты
Исключение:
DateTimeException - если дата не может быть разрешена, обычно из-за конфликта в входных данных

compareTo

public int compareTo(Chronology other)

Сравнивает эту хронологию с другой хронологией.

Порядок сравнения: сначала по строке идентификатора хронологии, затем по любой дополнительной информации, специфичной для подкласса. Он «согласуется с equals», как определено в Comparable.

Указывается:
compareTo в интерфейсе Comparable<Chronology>
Указывается:
compareTo в интерфейсе Chronology
Требования к реализации:
Эта реализация сравнивает идентификатор хронологии. Подклассы должны сравнить любой дополнительный сохранённый ими состояние.
Параметры:
other - другая хронология для сравнения, не null
Возвращает:
значение компаратора, отрицательное, если меньше, положительное, если больше

equals

public boolean equals(Object obj)

Проверяет, равна ли эта хронология другой хронологии.

Сравнение основано на полном состоянии объекта.

Указывается:
equals в интерфейсе Chronology
Переопределяет:
equals в классе Object
Требования к реализации:
Эта реализация проверяет тип и вызывает compareTo(java.time.chrono.Chronology).
Параметры:
obj - объект для проверки, null возвращает false
Возвращает:
true, если эта хронология равна другой хронологии
См. также:
Object.hashCode(), HashMap

hashCode

public int hashCode()

Хеш-код для этой хронологии.

Хеш-код должен основываться на полном состоянии объекта.

Указывается:
hashCode в интерфейсе Chronology
Переопределяет:
hashCode в классе Object
Требования к реализации:
Эта реализация основана на идентификаторе хронологии и классе. Подклассы должны добавить любое дополнительное состояние, которое они хранят.
Возвращает:
подходящий хеш-код
См. также:
Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)

toString

public String toString()

Выводит эту хронологию как String, используя идентификатор хронологии.

Указывается:
toString в интерфейсе Chronology
Переопределяет:
toString в классе Object
Возвращает:
строковое представление этой хронологии, не null

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API