Package net.time4j.engine
Defines the common generic schemes and interfaces of chronological systems. Users which only need an entry point to standard chronologies should rather consult the main package net.time4j.
Ein chronologisches System contains chronological elements and (as time axis) also time units. Given a concrete time point on a time axis the (primary) elements compose the coordinates of the time point on this time axis which is directed into future. This time axis might be the global UTC-timeline. In general a time axis is mathematically spoken a line where a time point is described by some suitable coordinates. This time axis is also scaled by mean of a system of fixed predefined time units. These units mainly serve for the time arithmetic and calculations of durations/distances on a time axis.
The main difference between elements and units is such that elements directly refers to the state of a time point and are dimension-less like coordinates on a time axis while time units have the dimension of a length respective duration.
The available abstractions of this package allow type-safety and also
the necessary flexibility in order to build new chronologies from the
scratch. Concrete implementations either start with the base class
TimePoint
or with the date class Calendrical
and register
elements, time units and calculation rules in the associated
Chronology
which contains the chronological logic.
Values of elements are usually modelled as integers but can also be defined in other types like enums. The value range of an int-primitive is usually no real limitation because each chronology can define sufficiently large elements (with small precision). For example a GPS-time also knows a week element. The detailed value range of a chronological element is documented in the concrete element types.
-
InterfaceDescriptionAttributeKey<A>Defines a key for a format attribute as type-safe accessor.Type-safe query for format attributes which control the formatting process.Represents a general calendar date.Represents an era in a calendar system.SPI-interface for the generic access to calendar chronologies.Represents a calendar system which can map a calendar date to a day number corresponding to the count of days elapsed since UTC epoch [1972-01-01].Represents a temporal condition.Represents a view on a set of chronological elements associated with their temporal values.Represents a chronological element which refers to a partial value of the whole temporal value and mainly serves for formatting purposes (as a carrier of a chronological information).Defines a configuration-dependent extension of the chronological elements of a
Chronology
used in formatting and parsing.ChronoFunction<T,R>Represents any temporal query using the strategy pattern approach.ChronoMerger<T>Merges any set of chronological informations to a new chronological entity.Applies a functional calculation on chronological entities and yields the result as changed copy.External time units which are not registered on any chronology (time axis) can implement this interface in order to support standard calculations in time spans and symbol formatting.Converter<S,T>Serves as bridge to temporal types of JDK or other date and time libraries.Deprecated.ElementRule<T,V>Represents the rule of a chronological element how to calculate or to manipulate its context-dependent temporal value.Element rule with support for int-primitives.Normalizer<U>Normalizes a time span.Temporal<C>Represents an object which can be sorted on a time axis in a temporal-only way.Defines the implementing chronological entity asTemporalAccessor
.TimeLine<T>Represents a time axis where a point in time can be moved forward or backward.TimeMetric<U,P>Computes temporal distances on a time axis as time spans.TimeSpan<U>Represents a common time span with an associated sign and a sequence of time units and related amounts.UnitRule<T>Represents a rule for the addition or subtraction associated with a time unit.Provides the name of any calendar variant. -
ClassDescriptionAbstractDuration<U extends ChronoUnit>Defines a timespan using the default algorithm of Time4J.Represents a metric suitable for the default algorithm of Time4J.BasicElement<V extends Comparable<V>>Abstract base implementation of a chronological element which has a name and can also define an (unregistered) element rule.Abstract time unit class which can define its own rule.BridgeChronology<S,T extends ChronoEntity<T>>Represents a foreign chronology which delegates formatting and parsing to a chronology in Time4J.Represents a count of calendar days.CalendarFamily<T extends CalendarVariant<T>>Represents a set of various calendar systems as members of a family.CalendarFamily.Builder<T extends CalendarVariant<T>>Creates a builder for a new calendar family and will only be used during loading a class of a calendar variant in a static initializer.CalendarVariant<D extends CalendarVariant<D>>Represents an immutable calendar variant.Calendrical<U,D extends Calendrical<U,D>>Abstract base class of all plain calendar date types which are convertible via their day epoch numbers.ChronoEntity<T extends ChronoEntity<T>>Represents a temporal object which associates partial temporal values with chronological elements and also allows some manipulations of these element values.Chronology<T>Represents a system of chronological elements which form any kind of temporal value.Chronology.Builder<T extends ChronoEntity<T>>Builder for creating a new chronology without any time axis.Defines the start of a given calendar day relative to midnight in seconds.StdOperator<T extends ChronoEntity<T>>Factory for producing standard chronological operators which are applicable on most chronological entities.A time axis is a dynamic view on a chronology where a system of registered time units is used to define a time arithmetic for any time points belonging to this time axis respective chronology.TimeAxis.Builder<U,T extends TimePoint<U,T>>Creates a builder for a new time axis respective chronology and will only be used during loading a class of type
TimePoint (T)
in a static initializer.Represents an immutable time point along a time axis which is directed into the future.Represents a single item of a time span which is based on only one time unit and has a non-negative amount. -
Enum ClassDescriptionDefines elements based on different epoch-related day numbers.A specialized element for indicating special state during parsing.A specialized element for communicating validation failures during parsing.
-
ExceptionDescriptionIndicates a chronological error situation.Indicates that a chronological rule for an element or a time unit is missing.
-
Annotation InterfaceDescriptionThis
Annotation
can be used to document all chronological elements which allow formatted representations.
java.time.format.FormatStyle
instead