Class IcsEvent

java.lang.Object
org.exoplatform.caldav.model.IcsEvent

public class IcsEvent extends Object
Everything the ICS engine needs about one event, and nothing else.

Deliberately not agenda's own Event. That model carries identities as numbers — a creator id, attendee identity ids — which the copy cannot use: what an iCalendar object needs is a display name and a mail address, and resolving one into the other means identity services, profile visibility and ACL. Taking an already-resolved input keeps the engine a pure function of its argument, which is what lets it be judged against the golden corpus at all, and keeps identity resolution where the services are.

Instants rather than zoned times, with the zone named separately: agenda supplies both a date and an instant for the two ends of an all-day event, and every rule here reads a wall clock in an explicit zone rather than trusting whatever zone a value arrived carrying.

  • Constructor Details

    • IcsEvent

      public IcsEvent()