U - generic type of time unit compatible to ChronoUnit)D - generic type of self referencepublic abstract class Calendrical<U,D extends Calendrical<U,D>> extends TimePoint<U,D> implements Temporal<Calendrical<?,?>>
Abstract base class of all plain calendar date types which are convertible via their day epoch numbers.
| Constructor and Description |
|---|
Calendrical() |
| Modifier and Type | Method and Description |
|---|---|
int |
compareTo(D date)
Defines a total respective natural order.
|
boolean |
equals(java.lang.Object obj)
Based on the epoch day number and the calendar system.
|
int |
hashCode()
Based on the epoch day number.
|
boolean |
isAfter(Calendrical<?,?> date)
Queries if this object is after given object on a timeline.
|
boolean |
isBefore(Calendrical<?,?> date)
Queries if this object is before given object on a timeline.
|
boolean |
isSimultaneous(Calendrical<?,?> date)
Queries if this object and given object have the same position
on the time axis.
|
D |
minus(CalendarDays days)
Subtrahiert die angegebenen Kalendertage von dieser Instanz.
|
D |
plus(CalendarDays days)
Adds given calendar days to this instance.
|
<T extends Calendrical<?,T>> |
transform(java.lang.Class<T> target)
Converts this calendar date to the given target type based on
the count of days relative to UTC epoch [1972-01-01].
|
<T extends CalendarVariant<T>> |
transform(java.lang.Class<T> target,
java.lang.String variant)
Converts this calendar date to the given target type based on
the count of days relative to UTC epoch [1972-01-01].
|
<T extends CalendarVariant<T>> |
transform(java.lang.Class<T> target,
VariantSource variantSource)
Converts this calendar date to the given target type based on
the count of days relative to UTC epoch [1972-01-01].
|
max, min, minus, minus, plus, plus, toString, until, untilcontains, get, get, getMaximum, getMinimum, getTimezone, hasTimezone, isValid, isValid, isValid, matches, with, with, with, withpublic <T extends Calendrical<?,T>> T transform(java.lang.Class<T> target)
Converts this calendar date to the given target type based on the count of days relative to UTC epoch [1972-01-01].
The conversion occurs on the local timeline at noon. This reference time ensures that all date types remain convertible even if a calendar system defines dates not starting at midnight.
T - generic target date typetarget - chronological type this date shall be converted tojava.lang.IllegalArgumentException - if the target class does not
have any chronologyjava.lang.ArithmeticException - in case of numerical overflowpublic <T extends CalendarVariant<T>> T transform(java.lang.Class<T> target, java.lang.String variant)
Converts this calendar date to the given target type based on the count of days relative to UTC epoch [1972-01-01].
The conversion occurs on the local timeline at noon. This reference time ensures that all date types remain convertible even if a calendar system defines dates not starting at midnight.
T - generic target date typetarget - chronological type this date shall be converted tovariant - desired calendar variantjava.lang.IllegalArgumentException - if the target class does not have any chronologyjava.lang.ArithmeticException - in case of numerical overflowpublic <T extends CalendarVariant<T>> T transform(java.lang.Class<T> target, VariantSource variantSource)
Converts this calendar date to the given target type based on the count of days relative to UTC epoch [1972-01-01].
The conversion occurs on the local timeline at noon. This reference time ensures that all date types remain convertible even if a calendar system defines dates not starting at midnight.
T - generic target date typetarget - chronological type this date shall be converted tovariantSource - source of desired calendar variantChronoException - if given variant is not recognizedjava.lang.IllegalArgumentException - if the target class does not have any chronologyjava.lang.ArithmeticException - in case of numerical overflowpublic boolean isBefore(Calendrical<?,?> date)
TemporalQueries if this object is before given object on a timeline.
isBefore in interface Temporal<Calendrical<?,?>>date - object this instance is compared totrue if this instance is temporally before
temporal else falsepublic boolean isAfter(Calendrical<?,?> date)
TemporalQueries if this object is after given object on a timeline.
isAfter in interface Temporal<Calendrical<?,?>>date - object this instance is compared totrue if this instance is temporally after
temporal else falsepublic boolean isSimultaneous(Calendrical<?,?> date)
TemporalQueries if this object and given object have the same position on the time axis.
Is equivalent to !isAfter(temporal) && !isBefore(temporal).
This method differs from the Object-method equals()
such that first the comparison type must be a temporal one and second
that only temporal-only state will be considered.
isSimultaneous in interface Temporal<Calendrical<?,?>>date - object this instance is compared totrue if this instance is temporally equal
to temporal else falsepublic int compareTo(D date)
Defines a total respective natural order.
This implementation first evaluates the temporal position on the
common timeline, that is the epoch day numbers. Only date objects
of the same calendrical type are comparable. The order is consistent
with equals() as long as subclasses don't define further
state attributes. If objects of different calendrical type are to be
compared on the timeline only applications can either use an
EpochDays-instance as Comparator or use one of
the Temporal-methods isAfter(), isBefore()
and isSimultaneous().
compareTo in interface java.lang.Comparable<D extends Calendrical<U,D>>compareTo in class TimePoint<U,D extends Calendrical<U,D>>java.lang.ClassCastException - if there are different date typesEpochDays.compare(ChronoDisplay, ChronoDisplay),
isBefore(Calendrical),
isAfter(Calendrical)public boolean equals(java.lang.Object obj)
Based on the epoch day number and the calendar system.
In other words: Two date object are equal if they have the same temporal position on the local timeline and have the same calendrical type. Subclasses which define further state attributes must override this method.
If an only temporal comparison is required then the method
isSimultaneous(Calendrical) is to be used.
equals in class TimePoint<U,D extends Calendrical<U,D>>Chronology.getChronoType()public int hashCode()
Based on the epoch day number.
public D plus(CalendarDays days)
Adds given calendar days to this instance.
days - calendar days to be addedpublic D minus(CalendarDays days)
Subtrahiert die angegebenen Kalendertage von dieser Instanz.
days - calendar days to be subtracted