Skip to content

Introduction

The iCal4j project is a collection of Open Source Java libraries for creating semantically-rich calendar and scheduling data. iCal4j is based on the iCalendar and vCard specifications, with each library focused on a specific subset of interoperability functionality.

overview.mmd.svg

What is iCalendar?

The iCalendar standard was originally created from a collaboration of leading groupware developers, as a way for their software to interoperate.

The core iCal4j library provides an implementation of the iCalendar specifications that are designed to facilitate interoperability between calendaring and scheduling software systems.

iCalendar provides a common data format used to store scheduling information such as events, appointments, to-do lists, etc. Most calendaring tools include some level of support for the iCalendar standard.

Active Projects

The following table provides an overview of the currently active projects in iCal4j.

Name Description References
ical4j Model and parsing support for iCalendar standards RFC5545, RFC5546, RFC6868, RFC7953, RFC7986, RFC7529, RFC9073, RFC9074, RFC9253
ical4j-zoneinfo-outlook Alternate timezone definitions to improve support for MS Outlook -
ical4j-vcard Model and parsing support for vCard standards RFC6350, RFC6473, RFC6474, RFC6868, RFC6869
ical4j-extensions Model extensions for non-standard data objects -
ical4j-connector Connectivity to persistent store implementations (e.g. CalDAV) RFC4791, RFC6352
ical4j-integration Delivery of data objects via common transport channels (e.g Email) RFC6047
ical4j-serializer Serialization of data objects to structured data formats (e.g xCal, jCal, JSCalendar, etc.) RFC6321, RFC6351, RFC7095, RFC7265, RFC8984
ical4j-command Command framework and CLI -
ical4j-streams Asynchronous stream processing -
ical4j-graph Linked object traversal -
ical4j-template Templating support for data presentation -
tzurl Generation and hosting of timezone data in iCalendar format -
  • For a concise description of the goals and directions of iCal4j please take a look at the open issues.

  • In this guide You will find examples of how to use iCal4j, as well as throughout the API documentation.

  • Detailed descriptions of changes included in each release may be found in the CHANGELOG.

  • iCal4j was created with the help of Open Source software.