x.recurrence.11.6.4.source-code.overview.html Maven / Gradle / Ivy
Show all versions of recurrence Show documentation
RFC 2445 defines protocols for
interoperability between calendar applications, and this library provides java
implementations for a number of RFC 2445 primitives including those that
describe how events repeat. Start by taking alook at the compat
packages.
Dates, Times, and Compatability Layers
RFC 2445 allows mixing of dates, date-times (and periods) within the same
recurrence description. RFC 2445's concept of date values fit awkwardly with
most existing date libraries. java.util
has no concept of period
or of local times, makes no distinction between dates and date-times, and has
no real "value" type since Date
is mutable.
Joda-time provides an excellent
date library, but many existing applications use the old java.util
code. We decided to create value types that hew closely to RFC 2445 types, and
then provide compatibility layers, so that applications need not link joda-time
if they use java.util
, but can easily work with joda-time if they
choose.
java.util
support is provided by the DateIteratorFactory
.
There are two factories for Joda time, one which provides
DateTime
s and one for LocalDate
s. See com.google.ical.compat.jodatime
for details.
Dependencies
Requires ant to build.
This library requires joda-time to build, but if you don't use the
joda-time compatability layer, can be run without it by running
ant rfc2445-no-joda
and using
rfc2445-no-joda.jar
.
Requires Jdk1.5.
The test target requires junit,
which should typically be in your $ANT_HOME/lib
directory.
To-Do
- Support for recurrences more frequently than daily
- Support for periods in rdate-lists
- Support for periods iterators
- Support for Java ME if people are interested?