Package net.time4j.engine


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.

  • Interface Summary
    Interface
    Description
    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.
    Represents any temporal query using the strategy pattern approach.
    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.
    Use java.time.format.FormatStyle instead
    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.
    Normalizes a time span.
    Represents an object which can be sorted on a time axis in a temporal-only way.
    Defines the implementing chronological entity as TemporalAccessor.
    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.
    Represents a common time span with an associated sign and a sequence of time units and related amounts.
    Represents a rule for the addition or subtraction associated with a time unit.
    Provides the name of any calendar variant.
  • Class Summary
    Class
    Description
    Defines a timespan using the default algorithm of Time4J.
    AbstractMetric<U extends ChronoUnit,​P extends AbstractDuration<U>>
    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.
    Represents a set of various calendar systems as members of a family.
    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.
    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.
    Represents a temporal object which associates partial temporal values with chronological elements and also allows some manipulations of these element values.
    Represents a system of chronological elements which form any kind of temporal value.
    Builder for creating a new chronology without any time axis.
    Defines the start of a given calendar day relative to midnight in seconds.
    Factory for producing standard chronological operators which are applicable on most chronological entities.
    TimeAxis<U,​T extends TimePoint<U,​T>>
    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.
    TimePoint<U,​T extends TimePoint<U,​T>>
    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 Class Summary
    Enum Class
    Description
    Defines 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.
  • Exception Summary
    Exception
    Description
    Indicates a chronological error situation.
    Indicates that a chronological rule for an element or a time unit is missing.
  • Annotation Interfaces Summary
    Annotation Interface
    Description
    This Annotation can be used to document all chronological elements which allow formatted representations.