Class IcsWriter

java.lang.Object
org.exoplatform.caldav.ics.IcsWriter

@Component public class IcsWriter extends Object
Builds the iCalendar object for one eXo event.

The Java counterpart of the browser connector's write path, on ical4j. Every rule below was learned from a defect and is documented where it is applied rather than in a changelog nobody reads — the golden corpus (EXO-89521) is what proves this engine still obeys them.

One thing this port deliberately does not carry over: the connector's derivation of a VTIMEZONE from the browser's Intl data, which reads one year's behaviour and projects it forward as yearly rules. ical4j's registry carries the real historical record, so the derivation is replaced rather than translated. Its own comments call that registry "the authoritative source".

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    Identifies eXo as the producer, unchanged from the browser connector.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    write(org.exoplatform.caldav.model.IcsEvent event)
    The whole iCalendar object for one event, ready to be pushed.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • PROD_ID

      public static final String PROD_ID
      Identifies eXo as the producer, unchanged from the browser connector.
      See Also:
  • Constructor Details

    • IcsWriter

      public IcsWriter()
  • Method Details

    • write

      public String write(org.exoplatform.caldav.model.IcsEvent event)
      The whole iCalendar object for one event, ready to be pushed.
      Parameters:
      event - the event to write, with identities already resolved
      Returns:
      the VCALENDAR object as text