Class BwEvent

All Implemented Interfaces:
Serializable, Comparable<BwEvent>, Comparator<BwEvent>, AlarmsEntity, AttachmentsEntity, AttendeesEntity, CategorisedEntity, CommentedEntity, ConceptEntity, ContactedEntity, DescriptionEntity<BwLongString>, EventEntity, OwnedEntity, RecurrenceEntity, ResourcedEntity, ShareableEntity, StartEndComponent, SummaryEntity, XpropsEntity, org.bedework.util.logging.Logged
Direct Known Subclasses:
BwEventAnnotation, BwEventNewWrapper, BwEventObj, BwEventProxy

public class BwEvent extends BwShareableContainedDbentity<BwEvent> implements EventEntity
An Event in Bedework. The event class is actually used to represent most of the calendaring components as they all require the same sort of searching capabilities.

Proxies and annotations are used to create an overridden instance or an annotated event. Pictorially...

   ***********************
   | Proxy     | ref |   |
   ***********************
                  |
                  |   **********************************
                  +-->| Annnotation     | target |     |
                      **********************************
                                            |
                                            |   ************************
                                            +-->| Event                |
                                                ************************
 

The proxy class checks the annotation for a value and if absent, uses the target - or event - value.

Immutable values cannot be overridden and need to be set in the annotation object. An example is the entity type. These are usually primitive types.

Still incomplete but getting there... annotations are used to describe certain aspects of events to allow the automatic generation of proxy and annotation classes and of conversion classes, to and from ical and xml.

From RFC2445

     A "VEVENT" calendar component is defined by the
 following notation:

   eventc     = "BEGIN" ":" "VEVENT" CRLF
                eventprop *alarmc
                "END" ":" "VEVENT" CRLF

   eventprop  = *(

              ; the following are optional,
              ; but MUST NOT occur more than once

              class / created / description / dtstart / geo /
              last-mod / location / organizer / priority /
              dtstamp / seq / status / summary / transp /
              uid / url / recurid /

              ; either 'dtend' or 'duration' may appear in
              ; a 'eventprop', but 'dtend' and 'duration'
              ; MUST NOT occur in the same 'eventprop'

              dtend / duration /

              ; the following are optional,
              ; and MAY occur more than once

              attach / attendee / categories / comment /
              contact / exdate / exrule / rstatus / related /
              resources / rdate / rrule / x-prop
              )

         A "VTODO" calendar component is defined by the
       following notation:

         todoc      = "BEGIN" ":" "VTODO" CRLF
                      todoprop *alarmc
                      "END" ":" "VTODO" CRLF

         todoprop   = *(

                    ; the following are optional,
                    ; but MUST NOT occur more than once

                    class / completed / created / description / dtstamp /
                    dtstart / geo / last-mod / location / organizer /
                    percent / priority / recurid / seq / status /
                    summary / uid / url /

                    ; either 'due' or 'duration' may appear in
                    ; a 'todoprop', but 'due' and 'duration'
                    ; MUST NOT occur in the same 'todoprop'

                    due / duration /

                    ; the following are optional,
                    ; and MAY occur more than once
                    attach / attendee / categories / comment / contact /
                    exdate / exrule / rstatus / related / resources /
                    rdate / rrule / x-prop

                    )
        A "VJOURNAL" calendar component is defined by the
       following notation:

         journalc   = "BEGIN" ":" "VJOURNAL" CRLF
                      jourprop
                      "END" ":" "VJOURNAL" CRLF

         jourprop   = *(

                    ; the following are optional,
                    ; but MUST NOT occur more than once

                    class / created / description / dtstart / dtstamp /
                    last-mod / organizer / recurid / seq / status /
                    summary / uid / url /

                    ; the following are optional,
                    ; and MAY occur more than once

                    attach / attendee / categories / comment /
                    contact / exdate / exrule / related / rdate /
                    rrule / rstatus / x-prop
                    )

 Properties common to event, todo and journal
    attach         VEVENT VTODO VJOURNAL    n/a       n/a    VALARM
    attendee       VEVENT VTODO VJOURNAL VFREEBUSY    n/a    VALARM
    categories     VEVENT VTODO VJOURNAL
    class          VEVENT VTODO VJOURNAL
    comment        VEVENT VTODO VJOURNAL VFREEBUSY VTIMEZONE
    contact        VEVENT VTODO VJOURNAL VFREEBUSY
    created        VEVENT VTODO VJOURNAL
    description    VEVENT VTODO VJOURNAL    n/a       n/a    VALARM
    dtstamp        VEVENT VTODO VJOURNAL VFREEBUSY
    dtstart        VEVENT VTODO VJOURNAL VFREEBUSY VTIMEZONE
    exdate         VEVENT VTODO VJOURNAL
    exrule         VEVENT VTODO VJOURNAL
    lastModified   VEVENT VTODO VJOURNAL    n/a    VTIMEZONE
    organizer      VEVENT VTODO VJOURNAL VFREEBUSY
    rdate          VEVENT VTODO VJOURNAL    n/a    VTIMEZONE
    recurrenceId   VEVENT VTODO VJOURNAL    n/a    VTIMEZONE
    relatedTo      VEVENT VTODO VJOURNAL
    requestStatus  VEVENT VTODO VJOURNAL VFREEBUSY
    rrule          VEVENT VTODO VJOURNAL    n/a    VTIMEZONE
    sequence       VEVENT VTODO VJOURNAL
    status         VEVENT VTODO VJOURNAL
    summary        VEVENT VTODO VJOURNAL    n/a       n/a    VALARM
    uid            VEVENT VTODO VJOURNAL VFREEBUSY
    url            VEVENT VTODO VJOURNAL VFREEBUSY

 Properties in one or more of event, todo (all journal fields are in common set)
    completed        n/a  VTODO
    dtend          VEVENT  n/a   n/a     VFREEBUSY
    due              n/a  VTODO                            (same as dtend)
    duration       VEVENT VTODO  n/a     VFREEBUSY    n/a    VALARM
    geo            VEVENT VTODO
    location       VEVENT VTODO
    percentComplete  n/a  VTODO
    priority       VEVENT VTODO
    resources      VEVENT VTODO
    transp         VEVENT

 Alarm only:
    action           n/a   n/a   n/a        n/a       n/a    VALARM
    repeat           n/a   n/a   n/a        n/a       n/a    VALARM
    trigger          n/a   n/a   n/a        n/a       n/a    VALARM

 Freebusy only:
    freebusy         n/a   n/a   n/a     VFREEBUSY

 Timezone only:
    tzid             n/a   n/a   n/a        n/a    VTIMEZONE
    tzname           n/a   n/a   n/a        n/a    VTIMEZONE
    tzoffsetfrom     n/a   n/a   n/a        n/a    VTIMEZONE
    tzoffsetto       n/a   n/a   n/a        n/a    VTIMEZONE
    tzurl            n/a   n/a   n/a        n/a    VTIMEZONE

 In addition, events and todos may contain alarms.

 Optional:
     class            classification
     created          created
     description      description
     dtstart          dtstart
     geo              geo
     last-mod         lastmod
     location         location
     organizer        organizerId
     priority         priority
     dtstamp          dtstamp
     seq              sequence
     status           status
     summary          summary
     transp           transparency
     uid              uid
     url              link
     recurid          recurrenceId

   One of or neither
     dtend            dtend
     duration         duration

   Optional and repeatable
      alarmc          alarms
      attach
      attendee        attendees
      categories      categories
      comment         comments
      contact         sponsor
      exdate          exdates
      exrule          exrules
      rstatus         requestStatus
      related
      resources       resources
      rdate           rdates
      rrule           rrules
      x-prop

  Extra non-rfc fields:
      private String cost;
      private UserVO creator;
      private boolean isPublic;
      private CalendarVO calendar;
      private RecurrenceVO recurrence;
      private char recurrenceStatus = 'N'; // Derived from above

 --------------------------------------------------------------------

Peruser data and overrides.

When events are in a shared collection some properties are private to each user with access. These are transparency and alarms. Retrieving transparency is done ona peruser basis. An x-property holds the peruser values. Alarms have an owner so we only return alarms owned by the current user. We also need to be careful not to delete other users alarms on update.

Where it gets really complex is handling recurrences. If a user adds an alarm to an instance, this creates an override specifically for that user.

On update a user will only send the instances they know about. We should preserve all other instances for which they have no peruser data.

The owner peruser data is stored directly in the instance. If the instance only differs in that respect then it is not delivered to others. Rather than attempt to compare it every time, we flag it on creation with a peruser x-property. If any other property is changed then we remove the peruser flag.

Version:
1.0
See Also:
  • Field Details

    • statusTentative

      public static final String statusTentative
      Rfc value for a tentative meeting
      See Also:
    • statusConfirmed

      public static final String statusConfirmed
      Rfc value for a confirmed meeting
      See Also:
    • statusCancelled

      public static final String statusCancelled
      Rfc value for a cancelled meeting
      See Also:
    • statusNeedsAction

      public static final String statusNeedsAction
      Rfc value for an incomplete task
      See Also:
    • statusComplete

      public static final String statusComplete
      Rfc value for a completed task
      See Also:
    • statusInProcess

      public static final String statusInProcess
      Rfc value for an in-process task
      See Also:
    • statusDraft

      public static final String statusDraft
      Rfc value for a draft journal
      See Also:
    • statusFinal

      public static final String statusFinal
      Rfc value for a final? journal
      See Also:
    • statusUnavailable

      public static final String statusUnavailable
      Rfc value for an unavailable time-period
      See Also:
    • statusMasterSuppressed

      public static final String statusMasterSuppressed
      Non-Rfc value for a supressed master event
      See Also:
    • scheduleStateNotProcessed

      public static final int scheduleStateNotProcessed
      scheduling message has not been processed

      (CalDAV) Inbox state on arrival.

      See Also:
    • scheduleStateProcessed

      public static final int scheduleStateProcessed
      scheduling message has been processed

      (CalDAV) Inbox state after all processing complete

      See Also:
    • scheduleStateExternalDone

      public static final int scheduleStateExternalDone
      scheduling message has been sent to external users

      Outbox state after sent to all external recipients. Internal recipients are handled immediately.

      See Also:
    • busyTypeBusy

      public static final int busyTypeBusy
      busy time
      See Also:
    • busyTypeBusyUnavailable

      public static final int busyTypeBusyUnavailable
      unavailable time
      See Also:
    • busyTypeBusyTentative

      public static final int busyTypeBusyTentative
      tentative busy time
      See Also:
    • busyTypeStrings

      public static final String[] busyTypeStrings
      Standard values for busyType
  • Constructor Details

    • BwEvent

      protected BwEvent()
      Constructor
  • Method Details

    • setEntityType

      public void setEntityType(int val)
      Set entity type defined in IcalDefs
      Parameters:
      val - entity type
    • getEntityType

      public int getEntityType()
      Returns:
      entity type defined in IcalDefs
    • setName

      public void setName(String val)
      Set the event's name
      Parameters:
      val - String event's name
    • getName

      public String getName()
      Get the event's name.
      Returns:
      String event's name
    • setClassification

      public void setClassification(String val)
      Set the event's classification
      Parameters:
      val - String event's description
    • getClassification

      public String getClassification()
      Get the event's classification
      Returns:
      String event's classification
    • setLink

      public void setLink(String val)
      Set the event's URL
      Parameters:
      val - string URL
    • getLink

      public String getLink()
      Get the event's URL
      Returns:
      the event's URL
    • setPublishUrl

      public void setPublishUrl(String val)
      Set the event's publish URL
      Parameters:
      val - string URL
    • getPublishUrl

      public String getPublishUrl()
      Returns:
      the event's publish URL
    • setGeo

      public void setGeo(BwGeo val)
      Set the event's geo
      Parameters:
      val - BwGeo
    • getGeo

      public BwGeo getGeo()
      Get the event's geo
      Returns:
      the event's geo
    • setDeleted

      public void setDeleted(boolean val)
      Set the event deleted flag
      Parameters:
      val - boolean true if the event is deleted
    • getDeleted

      public boolean getDeleted()
      Get the event deleted flag
      Returns:
      boolean true if the event is deleted
    • setTombstoned

      public void setTombstoned(Boolean val)
      Set the event tombstoned flag. This is distinct from the deleted flag which is a user settable flag. This flag indicated the event really is deleted but we want to retain information for synchronization purposes.

      Unsetting this flag may cause some odd effects

      Parameters:
      val - boolean true if the event is tombstoned
    • getTombstoned

      public Boolean getTombstoned()
      Get the event tombstoned flag. This is distinct from the deleted flag which is a user settable flag. This flag indicated the event really is deleted but we want to retain information for synchronization purposes.
      Returns:
      boolean true if the event is tombstoned
    • setStatus

      public void setStatus(String val)
      Set the event's status - must be one of CONFIRMED, TENTATIVE, or CANCELLED
      Parameters:
      val - status
    • getStatus

      public String getStatus()
      Get the event's status
      Returns:
      String event's status
    • setCost

      public void setCost(String val)
      Set the event's cost
      Parameters:
      val - String event's cost
    • getCost

      public String getCost()
      Get the event's cost
      Returns:
      String the event's cost
    • setOrganizer

      public void setOrganizer(BwOrganizer val)
      Set the organizer
      Parameters:
      val - BwOrganizer organizer
    • getOrganizer

      public BwOrganizer getOrganizer()
      Get the organizer
      Returns:
      BwOrganizer the organizer
    • setDtstamp

      public void setDtstamp(String val)
      Parameters:
      val - dtstamp
    • getDtstamp

      public String getDtstamp()
      Returns:
      String datestamp
    • setLastmod

      public void setLastmod(String val)
      Parameters:
      val - last modified
    • getLastmod

      public String getLastmod()
      Returns:
      String lastmod
    • setCreated

      public void setCreated(String val)
      Parameters:
      val - created
    • getCreated

      public String getCreated()
      Returns:
      String created
    • setStag

      public void setStag(String val)
      Parameters:
      val - schedule tag
    • getStag

      public String getStag()
      Returns:
      String stag
    • setPriority

      public void setPriority(Integer val)
      Set the rfc priority for this event
      Parameters:
      val - rfc priority number
    • getPriority

      public Integer getPriority()
      Get the events rfc priority
      Returns:
      Integer the events rfc priority
    • setSequence

      public void setSequence(int val)
      Set the rfc sequence for this event
      Parameters:
      val - rfc sequence number
    • getSequence

      public int getSequence()
      Get the events rfc sequence
      Returns:
      int the events rfc sequence
    • setLocation

      public void setLocation(BwLocation val)
      Parameters:
      val - a BwLocation object
    • getLocation

      public BwLocation getLocation()
      Returns:
      BwLocation or null
    • getVlocations

      public List<BwXproperty> getVlocations()
    • setUid

      public void setUid(String val)
      Set the uid
      Parameters:
      val - String uid
    • getUid

      public String getUid()
      Get the uid
      Returns:
      String uid
    • setTransparency

      public void setTransparency(String val)
      Set the event's transparency
      Parameters:
      val - String event's transparency
    • getTransparency

      public String getTransparency()
      Get the event's transparency
      Returns:
      String the event's transparency
    • setPercentComplete

      public void setPercentComplete(Integer val)
      todo only - Set the percentComplete
      Parameters:
      val - percentComplete
    • getPercentComplete

      public Integer getPercentComplete()
      Get the percentComplete
      Returns:
      Integer percentComplete
    • setCompleted

      public void setCompleted(String val)
      todo only - UTC time completed
      Parameters:
      val - UTC completed time
    • getCompleted

      public String getCompleted()
      Returns:
      String completed
    • setScheduleMethod

      public void setScheduleMethod(int val)
      Set the scheduleMethod for this event. Takes methodType values defined in Icalendar
      Parameters:
      val - scheduleMethod
    • getScheduleMethod

      public int getScheduleMethod()
      Get the events scheduleMethod
      Returns:
      int the events scheduleMethod
    • setOriginator

      public void setOriginator(String val)
      Set the event's originator
      Parameters:
      val - String event's originator
    • getOriginator

      public String getOriginator()
      Get the event's originator
      Returns:
      String the event's originator
    • setScheduleState

      public void setScheduleState(int val)
      Set the scheduleState for this event
      Parameters:
      val - scheduleState
    • getScheduleState

      public int getScheduleState()
      Get the events scheduleState
      Returns:
      int the events scheduleState
    • setOrganizerSchedulingObject

      public void setOrganizerSchedulingObject(Boolean val)
      True if this is a valid organizer scheduling object. (See CalDAV scheduling specification). This can be set false (and will be on copy) to suppress sending of invitations, e.g. for a draft.

      When the event is added this flag will be set true if the appropriate conditions are satisfied. NOTE: these have the NoProxy annotation as we treat them specially in the proxy until we get a schema update (4.0)

      Parameters:
      val - Boolean True if this is a valid organizer scheduling object
    • getOrganizerSchedulingObject

      public Boolean getOrganizerSchedulingObject()
      NOTE: these have the NoProxy annotation as we treat them specially in the proxy until we get a schema update (4.0)
      Returns:
      Boolean
    • setAttendeeSchedulingObject

      public void setAttendeeSchedulingObject(Boolean val)
      True if this is a valid attendee scheduling object. (See CalDAV scheduling specification) NOTE: these have the NoProxy annotation as we treat them specially in the proxy until we get a schema update (4.0)
      Parameters:
      val - Boolean True if this is a valid attendee scheduling object
    • getAttendeeSchedulingObject

      public Boolean getAttendeeSchedulingObject()
      NOTE: these have the NoProxy annotation as we treat them specially in the proxy until we get a schema update (4.0)
      Returns:
      Boolean
    • setRelatedTo

      public void setRelatedTo(BwRelatedTo val)
      Set the relatedTo property
      Parameters:
      val - BwRelatedTo relatedTo property
    • getRelatedTo

      public BwRelatedTo getRelatedTo()
      Get the relatedTo property
      Returns:
      BwRequestStatus the relatedTo property
    • setXproperties

      public void setXproperties(List<BwXproperty> val)
      Description copied from interface: XpropsEntity
      Set the x-props
      Specified by:
      setXproperties in interface XpropsEntity
      Parameters:
      val - x-properties
    • getXproperties

      public List<BwXproperty> getXproperties()
      Specified by:
      getXproperties in interface XpropsEntity
      Returns:
      List
    • getNumXproperties

      public int getNumXproperties()
      Specified by:
      getNumXproperties in interface XpropsEntity
      Returns:
      int
    • getXproperties

      public List<BwXproperty> getXproperties(String val)
      Specified by:
      getXproperties in interface XpropsEntity
      Parameters:
      val - - name to match
      Returns:
      list of matching properties - never null
    • getXicalProperties

      public List<BwXproperty> getXicalProperties(String val)
      Find x-properties storing the value of the named ical property
      Specified by:
      getXicalProperties in interface XpropsEntity
      Parameters:
      val - - name to match
      Returns:
      list of matching properties - never null
    • removeXproperties

      public int removeXproperties(String val)
      Remove all instances of the named property.
      Specified by:
      removeXproperties in interface XpropsEntity
      Parameters:
      val - - name to match
      Returns:
      number of removed proeprties
    • addXproperty

      public void addXproperty(BwXproperty val)
      Specified by:
      addXproperty in interface XpropsEntity
      Parameters:
      val - an x-prop
    • removeXproperty

      public void removeXproperty(BwXproperty val)
      Specified by:
      removeXproperty in interface XpropsEntity
      Parameters:
      val - x-prop to remove
    • cloneXproperty

      public List<BwXproperty> cloneXproperty()
      Specified by:
      cloneXproperty in interface XpropsEntity
      Returns:
      List of x-properties
    • getXproperty

      public String getXproperty(String name)
      Get the single valued named property
      Parameters:
      name - of x-prop
      Returns:
      value
    • findXproperty

      public BwXproperty findXproperty(String name)
      Parameters:
      name - of x-prop
      Returns:
      first property or null
    • replaceXproperty

      public boolean replaceXproperty(String name, String val)
      Parameters:
      name - of property
      val - its value or null to delete
      Returns:
      true if something chnaged
    • setRequestStatuses

      public void setRequestStatuses(Set<BwRequestStatus> val)
      Set the requestStatus
      Parameters:
      val - BwRequestStatus requestStatus
    • getRequestStatuses

      public Set<BwRequestStatus> getRequestStatuses()
      Get the requestStatus
      Returns:
      Set of BwRequestStatus the requestStatus
    • getNumRequestStatuses

      public int getNumRequestStatuses()
      Returns:
      int
    • addRequestStatus

      public void addRequestStatus(BwRequestStatus val)
      Parameters:
      val - request status
    • removeRequestStatus

      public boolean removeRequestStatus(BwRequestStatus val)
      Parameters:
      val - request status
      Returns:
      boolean
    • cloneRequestStatuses

      public Set<BwRequestStatus> cloneRequestStatuses()
      Return a clone of the Set
      Returns:
      Set of request status
    • setCtoken

      public void setCtoken(String val)
      Set the change token
      Parameters:
      val - change token
    • getCtoken

      public String getCtoken()
      Returns:
      the change token
    • setRecurring

      public void setRecurring(Boolean val)
      Specified by:
      setRecurring in interface RecurrenceEntity
    • getRecurring

      public Boolean getRecurring()
      Specified by:
      getRecurring in interface RecurrenceEntity
      Returns:
      Boolean true if a recurring event - only relevant for master event.
    • setRecurrenceId

      public void setRecurrenceId(String val)
      Description copied from interface: RecurrenceEntity
      Set the recurrence id
      Specified by:
      setRecurrenceId in interface RecurrenceEntity
      Parameters:
      val - recurrence id
    • getRecurrenceId

      public String getRecurrenceId()
      Description copied from interface: RecurrenceEntity
      Get the recurrence id
      Specified by:
      getRecurrenceId in interface RecurrenceEntity
      Returns:
      the event's recurrence id
    • setRrules

      public void setRrules(Set<String> val)
      Description copied from interface: RecurrenceEntity
      XXX Wrong - it should be a list
      Specified by:
      setRrules in interface RecurrenceEntity
    • getRrules

      public Set<String> getRrules()
      Specified by:
      getRrules in interface RecurrenceEntity
      Returns:
      Set of String
    • setExrules

      public void setExrules(Set<String> val)
      Specified by:
      setExrules in interface RecurrenceEntity
    • getExrules

      public Set<String> getExrules()
      Specified by:
      getExrules in interface RecurrenceEntity
      Returns:
      Set of String
    • setRdates

      public void setRdates(Set<BwDateTime> val)
      Specified by:
      setRdates in interface RecurrenceEntity
    • getRdates

      public Set<BwDateTime> getRdates()
      Specified by:
      getRdates in interface RecurrenceEntity
      Returns:
      Set of String
    • setExdates

      public void setExdates(Set<BwDateTime> val)
      Specified by:
      setExdates in interface RecurrenceEntity
    • getExdates

      public Set<BwDateTime> getExdates()
      Specified by:
      getExdates in interface RecurrenceEntity
      Returns:
      Set of String
    • isRecurringEntity

      public boolean isRecurringEntity()
      Specified by:
      isRecurringEntity in interface RecurrenceEntity
      Returns:
      true if there is any recurring element.
    • testRecurring

      public boolean testRecurring()
      Description copied from interface: RecurrenceEntity
      if (getRecurring() == null) { return false; } return getRecurring();
      Specified by:
      testRecurring in interface RecurrenceEntity
      Returns:
      true if this is a recurring entity.
    • hasRrules

      public boolean hasRrules()
      Description copied from interface: RecurrenceEntity
      True if we have rrules
      Specified by:
      hasRrules in interface RecurrenceEntity
      Returns:
      boolean
    • addRrule

      public void addRrule(String val)
      Specified by:
      addRrule in interface RecurrenceEntity
    • hasExrules

      public boolean hasExrules()
      Description copied from interface: RecurrenceEntity
      True if we have exrules
      Specified by:
      hasExrules in interface RecurrenceEntity
      Returns:
      boolean
    • addExrule

      public void addExrule(String val)
      Specified by:
      addExrule in interface RecurrenceEntity
    • hasRdates

      public boolean hasRdates()
      Description copied from interface: RecurrenceEntity
      True if we have rdates
      Specified by:
      hasRdates in interface RecurrenceEntity
      Returns:
      boolean
    • addRdate

      public void addRdate(BwDateTime val)
      Specified by:
      addRdate in interface RecurrenceEntity
    • hasExdates

      public boolean hasExdates()
      Description copied from interface: RecurrenceEntity
      True if we have exdates
      Specified by:
      hasExdates in interface RecurrenceEntity
      Returns:
      boolean
    • addExdate

      public void addExdate(BwDateTime val)
      Specified by:
      addExdate in interface RecurrenceEntity
    • setDtstart

      public void setDtstart(BwDateTime val)
      Description copied from interface: StartEndComponent
      Set the start time for the entity
      Specified by:
      setDtstart in interface StartEndComponent
      Parameters:
      val - Event's start
    • getDtstart

      public BwDateTime getDtstart()
      Description copied from interface: StartEndComponent
      Get the start time for the entity
      Specified by:
      getDtstart in interface StartEndComponent
      Returns:
      The start
    • setDtend

      public void setDtend(BwDateTime val)
      Description copied from interface: StartEndComponent
      Set the end or due date for the entity
      Specified by:
      setDtend in interface StartEndComponent
      Parameters:
      val - end
    • getDtend

      public BwDateTime getDtend()
      Description copied from interface: StartEndComponent
      Get the event's end
      Specified by:
      getDtend in interface StartEndComponent
      Returns:
      The event's end
    • setEndType

      public void setEndType(char val)
      Description copied from interface: StartEndComponent
      Set the endType flag for an event or todo
      Specified by:
      setEndType in interface StartEndComponent
      Parameters:
      val - char endType
    • getEndType

      public char getEndType()
      Description copied from interface: StartEndComponent
      get the endType flag for an event or todo
      Specified by:
      getEndType in interface StartEndComponent
      Returns:
      char end Type
    • setDuration

      public void setDuration(String val)
      Description copied from interface: StartEndComponent
      Set the duration for the entity if an event or todo, or the requested duration for a free/busy object.
      Specified by:
      setDuration in interface StartEndComponent
      Parameters:
      val - string duration
    • getDuration

      public String getDuration()
      Description copied from interface: StartEndComponent
      Get the duration for the entity if an event or todo, or the requested duration for a free/busy object.
      Specified by:
      getDuration in interface StartEndComponent
      Returns:
      the event's duration
    • setEstimatedDuration

      public void setEstimatedDuration(String val)
      Set the event's publish URL
      Parameters:
      val - string URL
    • getEstimatedDuration

      public String getEstimatedDuration()
      Returns:
      the event's publish URL
    • setNoStart

      public void setNoStart(Boolean val)
      Description copied from interface: StartEndComponent
      A todo may have no start/end. If so it always appears in the current day until completed.
      Specified by:
      setNoStart in interface StartEndComponent
    • getNoStart

      public Boolean getNoStart()
      Description copied from interface: StartEndComponent
      A todo may have no start/end. If so it always appears in the current day until completed.
      Specified by:
      getNoStart in interface StartEndComponent
      Returns:
      true for no start/end
    • setAlarms

      public void setAlarms(Set<BwAlarm> val)
      Description copied from interface: AlarmsEntity
      Set the attendees Set
      Specified by:
      setAlarms in interface AlarmsEntity
      Parameters:
      val - Set of alarms
    • getAlarms

      public Set<BwAlarm> getAlarms()
      Description copied from interface: AlarmsEntity
      Get the attendees
      Specified by:
      getAlarms in interface AlarmsEntity
      Returns:
      Set alarms list
    • getNumAlarms

      public int getNumAlarms()
      Specified by:
      getNumAlarms in interface AlarmsEntity
      Returns:
      int number of alarms.
    • addAlarm

      public void addAlarm(BwAlarm val)
      Specified by:
      addAlarm in interface AlarmsEntity
    • removeAlarm

      public boolean removeAlarm(BwAlarm val)
      Specified by:
      removeAlarm in interface AlarmsEntity
      Returns:
      boolean true if removed.
    • cloneAlarms

      public Set<BwAlarm> cloneAlarms()
      Return a clone of the Set
      Specified by:
      cloneAlarms in interface AlarmsEntity
      Returns:
      Set of BwAlarm
    • setAttachments

      public void setAttachments(Set<BwAttachment> val)
      Description copied from interface: AttachmentsEntity
      Set the attendees Set
      Specified by:
      setAttachments in interface AttachmentsEntity
      Parameters:
      val - Set of attachments
    • getAttachments

      public Set<BwAttachment> getAttachments()
      Description copied from interface: AttachmentsEntity
      Get the attendees
      Specified by:
      getAttachments in interface AttachmentsEntity
      Returns:
      Set attachments list
    • getNumAttachments

      public int getNumAttachments()
      Specified by:
      getNumAttachments in interface AttachmentsEntity
      Returns:
      int number of attachments.
    • addAttachment

      public void addAttachment(BwAttachment val)
      Specified by:
      addAttachment in interface AttachmentsEntity
      Parameters:
      val - an attachment
    • removeAttachment

      public boolean removeAttachment(BwAttachment val)
      Specified by:
      removeAttachment in interface AttachmentsEntity
      Parameters:
      val - an attachment
      Returns:
      boolean true if removed.
    • copyAttachments

      public Set<BwAttachment> copyAttachments()
      Description copied from interface: AttachmentsEntity
      Return a copy of the Set
      Specified by:
      copyAttachments in interface AttachmentsEntity
      Returns:
      Set of BwAttachment
    • cloneAttachments

      public Set<BwAttachment> cloneAttachments()
      Description copied from interface: AttachmentsEntity
      Return a clone of the Set
      Specified by:
      cloneAttachments in interface AttachmentsEntity
      Returns:
      Set of BwAttachment
    • clearAttachments

      public void clearAttachments()
      Description copied from interface: AttachmentsEntity
      Clear all attachments
      Specified by:
      clearAttachments in interface AttachmentsEntity
    • setAttendees

      public void setAttendees(Set<BwAttendee> val)
      Description copied from interface: AttendeesEntity
      Set the attendees Set
      Specified by:
      setAttendees in interface AttendeesEntity
      Parameters:
      val - Set of attendees
    • getAttendees

      public Set<BwAttendee> getAttendees()
      Description copied from interface: AttendeesEntity
      Get the attendees
      Specified by:
      getAttendees in interface AttendeesEntity
      Returns:
      Set attendees list
    • getNumAttendees

      public int getNumAttendees()
      Specified by:
      getNumAttendees in interface AttendeesEntity
      Returns:
      int number of attendees.
    • addAttendee

      public void addAttendee(BwAttendee val)
      Specified by:
      addAttendee in interface AttendeesEntity
    • removeAttendee

      public boolean removeAttendee(BwAttendee val)
      Specified by:
      removeAttendee in interface AttendeesEntity
      Returns:
      boolean true if removed.
    • copyAttendees

      public Set<BwAttendee> copyAttendees()
      Description copied from interface: AttendeesEntity
      Return a copy of the Set
      Specified by:
      copyAttendees in interface AttendeesEntity
      Returns:
      Set of BwAttendee
    • cloneAttendees

      public Set<BwAttendee> cloneAttendees()
      Description copied from interface: AttendeesEntity
      Return a clone of the Set
      Specified by:
      cloneAttendees in interface AttendeesEntity
      Returns:
      Set of BwAttendee
    • findAttendee

      public BwAttendee findAttendee(String uri)
      Find an attendee entry for the given uri (calendar address).
      Parameters:
      uri - to find
      Returns:
      BwAttendee or null if none exists
    • setRecipients

      public void setRecipients(Set<String> val)
      Description copied from interface: AttendeesEntity
      Set the recipients Set
      Specified by:
      setRecipients in interface AttendeesEntity
      Parameters:
      val - Set of (String)recipients
    • getRecipients

      public Set<String> getRecipients()
      Description copied from interface: AttendeesEntity
      Get the recipients
      Specified by:
      getRecipients in interface AttendeesEntity
      Returns:
      Set recipients set
    • getNumRecipients

      public int getNumRecipients()
      Specified by:
      getNumRecipients in interface AttendeesEntity
      Returns:
      int number of recipients.
    • addRecipient

      public void addRecipient(String val)
      Specified by:
      addRecipient in interface AttendeesEntity
    • removeRecipient

      public boolean removeRecipient(String val)
      Specified by:
      removeRecipient in interface AttendeesEntity
      Returns:
      boolean true if removed.
    • getConcepts

      public List<BwXproperty> getConcepts()
      Specified by:
      getConcepts in interface ConceptEntity
    • makeConcept

      public BwXproperty makeConcept(String val)
      Specified by:
      makeConcept in interface ConceptEntity
    • setCategories

      public void setCategories(Set<BwCategory> val)
      Description copied from interface: CategorisedEntity
      Set the categories Set
      Specified by:
      setCategories in interface CategorisedEntity
      Parameters:
      val - Set of categories
    • getCategories

      public Set<BwCategory> getCategories()
      Description copied from interface: CategorisedEntity
      Get the categories
      Specified by:
      getCategories in interface CategorisedEntity
      Returns:
      Set of categories
    • getNumCategories

      public int getNumCategories()
      Specified by:
      getNumCategories in interface CategorisedEntity
      Returns:
      int number of categories.
    • addCategory

      public boolean addCategory(BwCategory val)
      Specified by:
      addCategory in interface CategorisedEntity
      Parameters:
      val - the category to add
      Returns:
      boolean true if added.
    • removeCategory

      public boolean removeCategory(BwCategory val)
      Specified by:
      removeCategory in interface CategorisedEntity
      Parameters:
      val - the category to remove
      Returns:
      boolean true if removed.
    • hasCategory

      public boolean hasCategory(BwCategory val)
      Description copied from interface: CategorisedEntity
      Check the categories for the same entity
      Specified by:
      hasCategory in interface CategorisedEntity
      Parameters:
      val - Category to test
      Returns:
      boolean true if the event has a particular category
    • copyCategories

      public Set<BwCategory> copyCategories()
      Description copied from interface: CategorisedEntity
      Return a copy of the Set
      Specified by:
      copyCategories in interface CategorisedEntity
      Returns:
      Set of BwCategory
    • cloneCategories

      public Set<BwCategory> cloneCategories()
      Description copied from interface: CategorisedEntity
      Return a clone of the Set
      Specified by:
      cloneCategories in interface CategorisedEntity
      Returns:
      Set of BwCategory
    • setComments

      public void setComments(Set<BwString> val)
      Description copied from interface: CommentedEntity
      Set the comments Set
      Specified by:
      setComments in interface CommentedEntity
      Parameters:
      val - Set of (BwString)comments
    • getComments

      public Set<BwString> getComments()
      Description copied from interface: CommentedEntity
      Get the comments
      Specified by:
      getComments in interface CommentedEntity
      Returns:
      Set comments set
    • getNumComments

      public int getNumComments()
      Specified by:
      getNumComments in interface CommentedEntity
      Returns:
      int number of comments.
    • addComment

      public void addComment(String lang, String val)
      Specified by:
      addComment in interface CommentedEntity
    • addComment

      public void addComment(BwString val)
      Specified by:
      addComment in interface CommentedEntity
    • removeComment

      public boolean removeComment(BwString val)
      Specified by:
      removeComment in interface CommentedEntity
      Returns:
      boolean true if removed.
    • setContact

      public void setContact(BwContact val)
      Transition method - replace Set with single value.
      Parameters:
      val - a contact
    • getContact

      public BwContact getContact()
      Transition method - return first contact if any available.
      Returns:
      BwContact
    • setContacts

      public void setContacts(Set<BwContact> val)
      Description copied from interface: ContactedEntity
      Set the contacts Set
      Specified by:
      setContacts in interface ContactedEntity
      Parameters:
      val - Set of contacts
    • getContacts

      public Set<BwContact> getContacts()
      Description copied from interface: ContactedEntity
      Get the contacts
      Specified by:
      getContacts in interface ContactedEntity
      Returns:
      Set of contacts
    • getNumContacts

      public int getNumContacts()
      Specified by:
      getNumContacts in interface ContactedEntity
      Returns:
      int number of contacts.
    • addContact

      public void addContact(BwContact val)
      Specified by:
      addContact in interface ContactedEntity
    • removeContact

      public boolean removeContact(BwContact val)
      Specified by:
      removeContact in interface ContactedEntity
      Returns:
      boolean true if removed.
    • hasContact

      public boolean hasContact(BwContact val)
      Description copied from interface: ContactedEntity
      Check the contacts for the same entity
      Specified by:
      hasContact in interface ContactedEntity
      Parameters:
      val - Contact to test
      Returns:
      boolean true if the event has a particular contact
    • copyContacts

      public Set<BwContact> copyContacts()
      Description copied from interface: ContactedEntity
      Return a copy of the Set
      Specified by:
      copyContacts in interface ContactedEntity
      Returns:
      Set of BwContact
    • cloneContacts

      public Set<BwContact> cloneContacts()
      Description copied from interface: ContactedEntity
      Return a clone of the Set
      Specified by:
      cloneContacts in interface ContactedEntity
      Returns:
      Set of BwContact
    • setDescriptions

      public void setDescriptions(Set<BwLongString> val)
      Description copied from interface: DescriptionEntity
      Set the descriptions Set
      Specified by:
      setDescriptions in interface DescriptionEntity<BwLongString>
      Parameters:
      val - Set of (BwString)descriptions
    • getDescriptions

      public Set<BwLongString> getDescriptions()
      Description copied from interface: DescriptionEntity
      Get the descriptions
      Specified by:
      getDescriptions in interface DescriptionEntity<BwLongString>
      Returns:
      Set descriptions set
    • getNumDescriptions

      public int getNumDescriptions()
      Specified by:
      getNumDescriptions in interface DescriptionEntity<BwLongString>
      Returns:
      int number of descriptions.
    • addDescription

      public void addDescription(String lang, String val)
      Specified by:
      addDescription in interface DescriptionEntity<BwLongString>
    • addDescription

      public void addDescription(BwLongString val)
      Specified by:
      addDescription in interface DescriptionEntity<BwLongString>
    • removeDescription

      public boolean removeDescription(BwLongString val)
      Specified by:
      removeDescription in interface DescriptionEntity<BwLongString>
      Returns:
      boolean true if removed.
    • updateDescriptions

      public void updateDescriptions(String lang, String val)
      Description copied from interface: DescriptionEntity
      If description with given lang is present updates the value, otherwise adds it.
      Specified by:
      updateDescriptions in interface DescriptionEntity<BwLongString>
    • findDescription

      public BwLongString findDescription(String lang)
      Specified by:
      findDescription in interface DescriptionEntity<BwLongString>
      Returns:
      BwString with language code or default
    • setDescription

      public void setDescription(String val)
      Specified by:
      setDescription in interface DescriptionEntity<BwLongString>
      Parameters:
      val - String default
    • getDescription

      public String getDescription()
      Specified by:
      getDescription in interface DescriptionEntity<BwLongString>
      Returns:
      String default
    • setResources

      public void setResources(Set<BwString> val)
      Description copied from interface: ResourcedEntity
      Set the resources Set
      Specified by:
      setResources in interface ResourcedEntity
      Parameters:
      val - Set of (BwString)resources
    • getResources

      public Set<BwString> getResources()
      Description copied from interface: ResourcedEntity
      Get the resources
      Specified by:
      getResources in interface ResourcedEntity
      Returns:
      Set resources set
    • getNumResources

      public int getNumResources()
      Specified by:
      getNumResources in interface ResourcedEntity
      Returns:
      int number of resources.
    • addResource

      public void addResource(String lang, String val)
      Specified by:
      addResource in interface ResourcedEntity
    • addResource

      public void addResource(BwString val)
      Specified by:
      addResource in interface ResourcedEntity
    • removeResource

      public boolean removeResource(BwString val)
      Specified by:
      removeResource in interface ResourcedEntity
      Returns:
      boolean true if removed.
    • setSummaries

      public void setSummaries(Set<BwString> val)
      Description copied from interface: SummaryEntity
      Set the summaries Set
      Specified by:
      setSummaries in interface SummaryEntity
      Parameters:
      val - Set of (BwString)summaries
    • getSummaries

      public Set<BwString> getSummaries()
      Description copied from interface: SummaryEntity
      Get the summaries
      Specified by:
      getSummaries in interface SummaryEntity
      Returns:
      Set summaries set
    • getNumSummaries

      public int getNumSummaries()
      Specified by:
      getNumSummaries in interface SummaryEntity
      Returns:
      int number of summaries.
    • addSummary

      public void addSummary(String lang, String val)
    • addSummary

      public void addSummary(BwString val)
      Specified by:
      addSummary in interface SummaryEntity
    • removeSummary

      public boolean removeSummary(BwString val)
      Specified by:
      removeSummary in interface SummaryEntity
      Returns:
      boolean true if removed.
    • updateSummaries

      public void updateSummaries(String lang, String val)
      Description copied from interface: SummaryEntity
      If summary with given lang is present updates the value, otherwise adds it.
      Specified by:
      updateSummaries in interface SummaryEntity
    • findSummary

      public BwString findSummary(String lang)
      Specified by:
      findSummary in interface SummaryEntity
      Returns:
      BwString with language code or default
    • setSummary

      public void setSummary(String val)
      Specified by:
      setSummary in interface SummaryEntity
      Parameters:
      val - String default
    • getSummary

      public String getSummary()
      Specified by:
      getSummary in interface SummaryEntity
      Returns:
      String default
    • setFreeBusyPeriods

      public void setFreeBusyPeriods(List<BwFreeBusyComponent> val)
      set the free busy periods
      Parameters:
      val - List of BwFreeBusyComponent
    • getFreeBusyPeriods

      public List<BwFreeBusyComponent> getFreeBusyPeriods()
      Get the free busy times
      Returns:
      Set of BwFreeBusyComponent
    • addFreeBusyPeriod

      public void addFreeBusyPeriod(BwFreeBusyComponent val)
      Add a free/busy component
      Parameters:
      val - free busy component
    • setCalSuite

      public void setCalSuite(String val)
      Set the calsuite name
      Parameters:
      val - name
    • getCalSuite

      public String getCalSuite()
      Get the calsuite name
      Returns:
      String name
    • setPollWinner

      public void setPollWinner(Integer val)
      The poll winner
      Parameters:
      val - Integer id
    • getPollWinner

      public Integer getPollWinner()
      Get the winning item id
      Returns:
      Integer item id
    • setPollItemId

      public void setPollItemId(Integer val)
    • getPollItemId

      public Integer getPollItemId()
      Get the event's poll item id
      Returns:
      Integer event's poll item id
    • setPollMode

      public void setPollMode(String val)
      Set the poll mode
      Parameters:
      val - the mode
    • getPollMode

      public String getPollMode()
      Get the poll mode
      Returns:
      String poll mode
    • setPollProperties

      public void setPollProperties(String val)
      Set the poll properties
      Parameters:
      val - list of interesting properties
    • getPollProperties

      public String getPollProperties()
      Get the poll properties
      Returns:
      String list of interesting properties
    • setPollAcceptResponse

      public void setPollAcceptResponse(String val)
      Set the acceptable poll component types in the reponse
      Parameters:
      val - list of acceptable poll component types in the reponse
    • getPollAcceptResponse

      public String getPollAcceptResponse()
      Get the acceptable poll component types in the reponse
      Returns:
      String list of acceptable poll component types in the reponse
    • getPollItems

      public Set<String> getPollItems()
      Get the vpoll items (candidates)
      Returns:
      Set candidates
    • clearPollItems

      public void clearPollItems()
      Clear the vpoll items
    • getVoters

      public Set<String> getVoters()
      Get the vpoll items (candidates)
      Returns:
      Set candidates
    • clearVoters

      public void clearVoters()
      Clear the vpoll voters
    • addVoter

      public void addVoter(String val)
      Add vpoll voter
      Parameters:
      val - the item
    • addPollItem

      public void addPollItem(String val)
      Add vpoll item
      Parameters:
      val - the item
    • setPollCandidate

      public void setPollCandidate(boolean val)
      Parameters:
      val - true for a poll candidate
    • getPollCandidate

      public boolean getPollCandidate()
      Returns:
      true for a poll candidate
    • setBusyType

      public void setBusyType(int val)
      Parameters:
      val - int busy type
    • getBusyType

      public int getBusyType()
      Returns:
      int type of time
    • setAvailableUids

      public void setAvailableUids(Set<String> val)
      Set the available uids
      Parameters:
      val - Set
    • getAvailableUids

      public Set<String> getAvailableUids()
      Get the uids
      Returns:
      Set uids
    • addAvailableUid

      public void addAvailableUid(String val)
      Add as available uid
      Parameters:
      val - Strign uid
    • setPeruserTransparency

      public BwXproperty setPeruserTransparency(String userHref, String val)
      If this is the owner - set the real transparency, otherwise, if it differs add an x-prop
      Parameters:
      userHref - user in question
      val - transp value
      Returns:
      non-null if x-prop is added for this user
    • getPeruserTransparency

      public String getPeruserTransparency(String userHref)
      Get the event's transparency
      Parameters:
      userHref - or null
      Returns:
      String the event's transparency
    • findPeruserXprop

      public BwXproperty findPeruserXprop(String userHref, String name)
      Parameters:
      userHref - of user who owns property
      name - of property
      Returns:
      x-prop for this user if found
    • getSuggested

      public List<BwEvent.SuggestedTo> getSuggested()
      Suggested to values.
      Returns:
      list of suggested to objects
    • addSuggested

      public BwXproperty addSuggested(BwEvent.SuggestedTo val)
      Add a suggested to value.
      Parameters:
      val - suggested to object
      Returns:
      x-property added to event
    • isSchedulingAssistant

      public boolean isSchedulingAssistant()
      Scheduling assistant?
      Returns:
      boolean
    • getBusyTypeString

      public String getBusyTypeString()
      Returns:
      the String representation of the busyType
    • setBusyTypeString

      public void setBusyTypeString(String val)
      Parameters:
      val - the String representation of the busyType
    • fromBusyTypeString

      public static int fromBusyTypeString(String val)
      Parameters:
      val - the String representation of the busyType
      Returns:
      corresponding internal value
    • inDateTimeRange

      public boolean inDateTimeRange(String start, String end)
      Returns true if the event start and end dates lie within the specified limits. Either or both of start and end may be null.
      Parameters:
      start - - UTC date/time or null
      end - - UTC date/time or null
      Returns:
      true if event satisfies the limits
    • getSchedulingObject

      public boolean getSchedulingObject()
      Returns:
      boolean
    • setOverrides

      public void setOverrides(Collection<BwEventAnnotation> val)
      Set the overrides collection
      Parameters:
      val - Collection of overrides
    • getOverrides

      public Collection<BwEventAnnotation> getOverrides()
      Get the overrides
      Returns:
      Collection overrides list
    • setColor

      public void setColor(String val)
      Set the event color property
      Parameters:
      val - color value
    • getColor

      public String getColor()
      Get the event color property
      Returns:
      String event color
    • setSignificantChange

      public void setSignificantChange(boolean val)
      Set the significant change flag
      Parameters:
      val - boolean true if the event was changed in a significant manner (enough to mean we should update schedule-tag)
    • getSignificantChange

      public boolean getSignificantChange()
      Get the significant change flag
      Returns:
      boolean true if the event was changed in a significant manner (enough to mean we should update schedule-tag)
    • setForceUTC

      public void setForceUTC(boolean val)
      Set the force UTC flag
      Parameters:
      val - true to force UTC
    • getForceUTC

      public boolean getForceUTC()
      Get the force UTC flag
      Returns:
      boolean
    • setParent

      public void setParent(BwEvent val)
      Set parent object
      Parameters:
      val - BwEvent object.
    • getParent

      public BwEvent getParent()
      Return any parent object
      Returns:
      BwEvent object.
    • setCategoryHrefs

      public void setCategoryHrefs(Set<String> val)
      Set list of referenced categories
      Specified by:
      setCategoryHrefs in interface CategorisedEntity
      Parameters:
      val - list of category uids
    • getCategoryHrefs

      public Set<String> getCategoryHrefs()
      Description copied from interface: CategorisedEntity
      Get the categories
      Specified by:
      getCategoryHrefs in interface CategorisedEntity
      Returns:
      list of category uids.
    • setContactHrefs

      public void setContactHrefs(Set<String> val)
      Set list of referenced contacts
      Specified by:
      setContactHrefs in interface ContactedEntity
      Parameters:
      val - list of contact hrefs
    • getContactHrefs

      public Set<String> getContactHrefs()
      Description copied from interface: ContactedEntity
      Get the contact hrefs
      Specified by:
      getContactHrefs in interface ContactedEntity
      Returns:
      list of contact uids.
    • setLocationHref

      public void setLocationHref(String val)
      Set href of referenced location
      Parameters:
      val - location href or null
    • getLocationHref

      public String getLocationHref()
      Returns:
      location href
    • getChangeset

      public ChangeTable getChangeset(String userHref)
      Get change set for the event. The absence of a changes does not mean no changes - there may be overrides to apply.
      Parameters:
      userHref - needed to handle per-user properties
      Returns:
      null for no changes
    • clearChangeset

      public void clearChangeset()
      Will force update
    • getHref

      public String getHref()
      Overrides:
      getHref in class BwUnversionedDbentity<BwEvent>
      Returns:
      non null unique href for the entity
    • getEncodedHref

      public String getEncodedHref()
    • getTimeZoneIds

      public Set<String> getTimeZoneIds()
      Return all timezone ids this event uses. This is used when an event is added by another user to ensure that the target user has a copy of user specific timezones.
      Returns:
      Set of timezone ids.
    • updateLastmod

      public void updateLastmod()
      Set the last mod for this event.
    • updateDtstamp

      public void updateDtstamp()
      Set the dtstamp for this event.
    • updateStag

      public void updateStag(Timestamp val)
      Set the stag for this event.
      Parameters:
      val - timestamp
    • setDtstamps

      public void setDtstamps(Timestamp val)
      Set the dtstamp, lastmod and created if created is not set already.
      Parameters:
      val - timestamp
    • makeFreeBusyEvent

      public BwEvent makeFreeBusyEvent()
      Return an object holding just enough for free busy calculation
      Returns:
      BwEvent object.
    • makeDurationBean

      public BwDuration makeDurationBean()
      Return a BwDuration populated from the String duration.
      Returns:
      BwDuration
    • calculateByteSize

      public int calculateByteSize()
      Calculate a value to be used to limit quotas.
      Returns:
      int
    • toStringSegment

      protected void toStringSegment(org.bedework.util.misc.ToString ts)
      Add our stuff to the StringBuilder
      Overrides:
      toStringSegment in class BwShareableContainedDbentity<BwEvent>
      Parameters:
      ts - ToString object for result
    • copyTo

      public void copyTo(BwEvent ev)
      Copy this objects fields into the parameter
      Parameters:
      ev - - to copy to
    • cloneTombstone

      public BwEvent cloneTombstone()
      Returns:
      a copy suitable for tombstoning.
    • validTransparency

      public static boolean validTransparency(String val)
      Check for a valid transparency - null is invalid
      Parameters:
      val - - possible transparency value
      Returns:
      boolean true = it's OK
    • setSuppressed

      public void setSuppressed(boolean val)
      We are using the status to suppress master events - these are associated with 'detached' instances.
      Parameters:
      val - true for suppressed
    • getSuppressed

      public boolean getSuppressed()
      We are using the status to suppress master events - these are associated with 'detached' instances.
      Returns:
      true if suppressed
    • assignGuid

      public void assignGuid(String systemId)
      Assign a guid to this event. A noop if this event already has a guid.
      Parameters:
      systemId - for the system
    • compare

      public int compare(BwEvent e1, BwEvent e2)
      Specified by:
      compare in interface Comparator<BwEvent>
    • compareTo

      public int compareTo(BwEvent o2)
      Specified by:
      compareTo in interface Comparable<BwEvent>
      Overrides:
      compareTo in class BwUnversionedDbentity<BwEvent>
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class BwUnversionedDbentity<BwEvent>
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • clone

      public Object clone()
      Description copied from class: BwUnversionedDbentity
      Make visible
      Overrides:
      clone in class BwUnversionedDbentity<BwEvent>
      Returns:
      Object of class T
    • getMicrosecsVersion

      public long getMicrosecsVersion() throws CalFacadeException
      Returns:
      a version value in microsecords.
      Throws:
      CalFacadeException
    • hex4

      public static String hex4(int val)
      Parameters:
      val - number to convert to hex
      Returns:
      a 4 digit hex value
    • hex4FromNanos

      public static String hex4FromNanos(int val)
      Parameters:
      val - - nanoseconds
      Returns:
      a 4 digit hex value