Class CalendarShare

java.lang.Object
org.exoplatform.agenda.model.CalendarShare
All Implemented Interfaces:
Cloneable

public class CalendarShare extends Object implements Cloneable
One calendar shared, read-only, with one colleague (EXO-90357).

The record is eXo's own truth: a sharee reads the calendar and its events because this row exists, whether or not a remote server also carries the share. When a delivery channel (the CalDAV add-on) also granted the share on its server, deliveredTo names that channel and deliveryRef what the channel handed back to recognise its own delivery again — the collection the colleague now sees, typically.

level is what the colleague may do with it (EXO-90378): read it, or also write events in it. Absent from a record read before that column existed, and from one a caller builds without it — null is read as CalendarShareLevel.VIEW by getLevel(), never as the wider level.

  • Constructor Details

    • CalendarShare

      public CalendarShare()
  • Method Details

    • getLevel

      public CalendarShareLevel getLevel()
      What the colleague may do with the calendar, the narrower level for a record that names none: a share whose level cannot be established grants reading, never writing.
      Returns:
      the level, never null
    • isEditor

      public boolean isEditor()
      Whether the colleague may write events in the calendar.
      Returns:
      true when the level is CalendarShareLevel.EDIT
    • clone

      public CalendarShare clone()
      Copies the record.
      Overrides:
      clone in class Object
      Returns:
      a copy