Library which contains several time-dependent data and index structures (e.g., IntervalTree, BucketTimeSeries), as well as algorithms.
Version 1.8.0 updates the version used for gson
(to 2.9.0
), slf4j
(1.7.36
) and log4j
(switched to reload4j-1.2.21
).
With version 1.7.0 of the library a new feature was added, which enables developers to evaluate "temporal" expressions. In general, a TemporalExpression
can be understood as a formel expression (i.e., a formula), which contains temporal elements, e.g., now() + 4h
. The syntax of the expression may depend on the underlying implementation, thus it is recommended to have a closer look at the provided documentation (for the selected implementation).
The provided implementation of Allen's Interval Algebra (see Wikipedia) had an issue to determine the difference between overlap
and after
, as well as is overlapped by
and before
. These problems have been fixed.
@ Maven Central @ GitHub
This is a minor release it implements the overlapStream()
method:
public Stream<IInterval> overlapStream(final IInterval query)
and provides protected
access to the root
of the tree
:
protected IntervalTreeNode getRoot()
In addition three new methods were added to the TimeUtils
:
createTimestampList
: creates a list of days between the specified start (inclusive) and end (inclusive).firstOfCurrentMonthTime
: get first timestamp of current monthformat
: formats different timestamps for different timezones@ Maven Central @ GitHub
This is a minor release fixing a bug when calculating the maximum value in the IntervalTree
. In addition some minor code quality enhancement were performed.
@ Maven Central @ GitHub
This is a minor release fixing the version 1.6.0 deployed on Maven Central.
@ Maven Central @ GitHub
This is a major release providing the capabilities to persist, store, and cache associated data and the IntervalTree
index-structure (see Store, Cache, and Persist).
@ Maven Central @ GitHub
This is a minor release, which contains the implementation of Allen's Interval Algebra for the Interval
class.
@ Maven Central @ GitHub
This is a minor release, which contains a generalized Interval
implementation. This implementation allows the comparison of intervals based on different primitive number types (e.g., double, float, byte, short, integer, long).
@ Maven Central @ GitHub
This release contains the following changes:
IntervalTree
insert(new Inteval(1, 2))
twice will actually insert two intervals (using a List
storage)insert(new IdInteval("ID1", 1, 2))
twice will only be inserted once (using a Set
storage)insert(new IdInteval("ID1", 1, 2))
and insert(new IdInteval("ID2", 1, 2))
will inserted two intervals (independent of the storage)Interval
type, so that every type of data associated to intervals can be handledIntervalTree
implements Collection
interfaceIntervalTree.setAutoBalancing(true)
IntervalTree.setAutoBalancing(false)
IntervalTree.balance()
@ Maven Central @ GitHub