CalDAV4j project is a protocol library that extends the Slide project's WebDAV client library (which itself is an extension of the Apache's HttpClient library) to allow high level manipulation of CalDAV calendar collections as well as lower leve
A high level API: This API works at the level of ical4j objects, and allows for high level operations like querying for events in a given date range, and updating master events and recurrence instances. All the "hard" protocol work that you need to do to make this happen is hidden from the end user.
A lower level protocol API: Let's you work at the Http/WebDAV/CalDAV protocol level by creating instances of HttpMethods (like GetMethod, MkCalendar, ReportMethod) and executing them.
Performance: When possible caches (such as caches of etags and icalendar resources) are maintained so that network chatter and parsing of icalender files is minimized.
Compliance: We aim to be implement the entire CalDAV spec as well as the WebDAV tickets spec.
Here are some key features of "CalDAV4j":
· Support for reports
· Protocol level support for MKCALENDAR, GET, REPORT, PUT
· High level API for accessing events within a calendar collection
· Caching of CalDAV resources
· Ticket Support