Class HistoricChronology.MonthOfYearRule

All Implemented Interfaces:
Serializable, Comparable<CalendricalRule<?>>, Comparator<Calendrical>
Enclosing class:
HistoricChronology

private static final class HistoricChronology.MonthOfYearRule extends DateTimeFieldRule<MonthOfYear> implements Serializable
Rule implementation.
  • Field Details

    • chrono

      private final HistoricChronology chrono
      The chronology.
    • serialVersionUID

      private static final long serialVersionUID
      A serialization identifier for this class.
      See Also:
  • Constructor Details

  • Method Details

    • derive

      protected MonthOfYear derive(Calendrical calendrical)
      Description copied from class: CalendricalRule
      Derives the value of this rule from a calendrical.

      This method derives the value for this field from other fields in the calendrical without directly querying the calendrical for the value.

      For example, if this field is quarter-of-year, then the value can be derived from month-of-year.

      The implementation only needs to derive the value based on its immediate parents. The use of Calendrical.get(javax.time.calendar.CalendricalRule<T>) will extract any further parents on demand.

      A typical implementation of this method obtains the parent value and performs a calculation. For example, here is a simple implementation for the quarter-of-year field:

       Integer moyVal = calendrical.get(ISOChronology.monthOfYearRule());
       return (moyVal != null ? ((moyVal - 1) % 4) + 1) : null;
       

      This method is designed to be overridden in subclasses. The subclass implementation must be thread-safe. The subclass implementation must not request the value of this rule from the specified calendrical, otherwise a stack overflow error will occur.

      Overrides:
      derive in class CalendricalRule<MonthOfYear>
      Parameters:
      calendrical - the calendrical to derive from, not null
      Returns:
      the derived value, null if unable to derive