Class VDisplayable<T>

Type Parameters:
T - concrete subclass
All Implemented Interfaces:
VAttendee<T>, VComponent, VDescribable<T>, VLastModified<T>, VRepeatable<T>, VChild, VElement, VParent
Direct Known Subclasses:
VJournal, VLocatable

public abstract class VDisplayable<T> extends VPersonal<T> implements VRepeatable<T>, VDescribable<T>, VLastModified<T>
  • Field Details

  • Constructor Details

    • VDisplayable

      public VDisplayable()
    • VDisplayable

      public VDisplayable(VDisplayable<T> source)
  • Method Details

    • getAttachments

      public List<Attachment<?>> getAttachments()
      This property provides the capability to associate a document object with a calendar component.

      Example: The following is an example of this property:

      • ATTACH:CID:jsmith.part3.960817T083000.xyzMail@example.com
      • ATTACH;FMTTYPE=application/postscript:ftp://example.com/pub/
        reports/r-960812.ps

      Specified by:
      getAttachments in interface VDescribable<T>
    • setAttachments

      public void setAttachments(List<Attachment<?>> attachments)
      Specified by:
      setAttachments in interface VDescribable<T>
    • getCategories

      public List<Categories> getCategories()
      CATEGORIES: RFC 5545 iCalendar 3.8.1.12. page 81 This property defines the categories for a calendar component. Example: CATEGORIES:APPOINTMENT,EDUCATION CATEGORIES:MEETING
    • setCategories

      public void setCategories(List<Categories> categories)
    • withCategories

      public T withCategories(List<Categories> categories)
    • withCategories

      public T withCategories(String... categories)
    • withCategories

      public T withCategories(Categories... categories)
    • getClassification

      public Classification getClassification()
      CLASS Classification RFC 5545, 3.8.1.3, page 82 This property defines the access classification for a calendar component. Example: CLASS:PUBLIC
    • setClassification

      public void setClassification(String classification)
    • setClassification

      public void setClassification(Classification classification)
    • setClassification

      public void setClassification(Classification.ClassificationType classification)
    • withClassification

      public T withClassification(Classification classification)
    • withClassification

      public T withClassification(Classification.ClassificationType classification)
    • withClassification

      public T withClassification(String classification)
    • getContacts

      public List<Contact> getContacts()
      CONTACT: RFC 5545 iCalendar 3.8.4.2. page 109 This property is used to represent contact information or alternately a reference to contact information associated with the calendar component. Example: CONTACT;ALTREP="ldap://example.com:6666/o=ABC%20Industries\, c=US???(cn=Jim%20Dolittle)":Jim Dolittle\, ABC Industries\, +1-919-555-1234
    • setContacts

      public void setContacts(List<Contact> contacts)
    • withContacts

      public T withContacts(List<Contact> contacts)
    • withContacts

      public T withContacts(String... contacts)
    • withContacts

      public T withContacts(Contact... contacts)
    • getDateTimeCreated

      public DateTimeCreated getDateTimeCreated()
      CREATED: Date-Time Created RFC 5545 iCalendar 3.8.7.1 page 136 This property specifies the date and time that the calendar information was created. This is analogous to the creation date and time for a file in the file system. The value MUST be specified in the UTC time format. Example: CREATED:19960329T133000Z
    • setDateTimeCreated

      public void setDateTimeCreated(String dateTimeCreated)
    • setDateTimeCreated

      public void setDateTimeCreated(DateTimeCreated dateTimeCreated)
    • setDateTimeCreated

      public void setDateTimeCreated(ZonedDateTime dateTimeCreated)
    • withDateTimeCreated

      public T withDateTimeCreated(ZonedDateTime dateTimeCreated)
    • withDateTimeCreated

      public T withDateTimeCreated(String dateTimeCreated)
    • withDateTimeCreated

      public T withDateTimeCreated(DateTimeCreated dateTimeCreated)
    • getExceptionDates

      public List<ExceptionDates> getExceptionDates()
      EXDATE Exception Date-Times RFC 5545 iCalendar 3.8.5.1, page 117. This property defines the list of DATE-TIME exceptions for recurring events, to-dos, journal entries, or time zone definitions.
    • setExceptionDates

      public void setExceptionDates(List<ExceptionDates> exceptionDates)
    • withExceptionDates

      public T withExceptionDates(List<ExceptionDates> exceptions)
    • withExceptionDates

      public T withExceptionDates(String... exceptions)
    • withExceptionDates

      public T withExceptionDates(Temporal... exceptions)
    • withExceptionDates

      public T withExceptionDates(ExceptionDates... exceptions)
    • getDateTimeLastModified

      public LastModified getDateTimeLastModified()
      LAST-MODIFIED RFC 5545, 3.8.7.3, page 138 This property specifies the date and time that the information associated with the calendar component was last revised in the calendar store. Note: This is analogous to the modification date and time for a file in the file system. The value MUST be specified as a date with UTC time. Example: LAST-MODIFIED:19960817T133000Z
      Specified by:
      getDateTimeLastModified in interface VLastModified<T>
    • setDateTimeLastModified

      public void setDateTimeLastModified(LastModified lastModified)
      Specified by:
      setDateTimeLastModified in interface VLastModified<T>
    • getRecurrenceDates

      public List<RecurrenceDates> getRecurrenceDates()
      RDATE Recurrence Date-Times RFC 5545 iCalendar 3.8.5.2, page 120. This property defines the list of DATE-TIME values for recurring events, to-dos, journal entries, or time zone definitions. NOTE: DOESN'T CURRENTLY SUPPORT PERIOD VALUE TYPE
      Specified by:
      getRecurrenceDates in interface VRepeatable<T>
    • setRecurrenceDates

      public void setRecurrenceDates(List<RecurrenceDates> recurrenceDates)
      Specified by:
      setRecurrenceDates in interface VRepeatable<T>
    • getRecurrenceId

      public RecurrenceId getRecurrenceId()
      RECURRENCE-ID: Recurrence Identifier RFC 5545 iCalendar 3.8.4.4 page 112 The property value is the original value of the "DTSTART" property of the recurrence instance before an edit that changed the value. Example: RECURRENCE-ID;VALUE=DATE:19960401
    • setRecurrenceId

      public void setRecurrenceId(RecurrenceId recurrenceId)
    • setRecurrenceId

      public void setRecurrenceId(String recurrenceId)
    • setRecurrenceId

      public void setRecurrenceId(Temporal temporal)
    • withRecurrenceId

      public T withRecurrenceId(RecurrenceId recurrenceId)
    • withRecurrenceId

      public T withRecurrenceId(String recurrenceId)
    • withRecurrenceId

      public T withRecurrenceId(Temporal recurrenceId)
    • checkRecurrenceIdConsistency

      String checkRecurrenceIdConsistency()
      Checks if RecurrenceId has same date-time type as DateTimeStart. Returns String containing error message if there is a problem, null otherwise.
    • getRelatedTo

      public List<RelatedTo> getRelatedTo()
      RELATED-TO: 3.8.4.5, RFC 5545 iCalendar, page 115 This property is used to represent a relationship or reference between one calendar component and another. By default, the property value points to another calendar component's UID that has a PARENT relationship to the referencing object. This field is null unless the object contains as RECURRENCE-ID value. Example: RELATED-TO:19960401-080045-4000F192713-0052@example.com
    • setRelatedTo

      public void setRelatedTo(List<RelatedTo> relatedTo)
    • withRelatedTo

      public T withRelatedTo(List<RelatedTo> relatedTo)
    • withRelatedTo

      public T withRelatedTo(String... relatedTo)
    • withRelatedTo

      public T withRelatedTo(RelatedTo... relatedTo)
    • getRecurrenceRule

      public RecurrenceRule getRecurrenceRule()
      RRULE, Recurrence Rule RFC 5545 iCalendar 3.8.5.3, page 122. This property defines a rule or repeating pattern for recurring events, to-dos, journal entries, or time zone definitions If component is not repeating the value is null. Examples: RRULE:FREQ=DAILY;COUNT=10 RRULE:FREQ=WEEKLY;UNTIL=19971007T000000Z;WKST=SU;BYDAY=TU,TH
      Specified by:
      getRecurrenceRule in interface VRepeatable<T>
    • setRecurrenceRule

      public void setRecurrenceRule(RecurrenceRule recurrenceRule)
      Specified by:
      setRecurrenceRule in interface VRepeatable<T>
    • getSequence

      public Sequence getSequence()
      SEQUENCE: RFC 5545 iCalendar 3.8.7.4. page 138 This property defines the revision sequence number of the calendar component within a sequence of revisions. Example: The following is an example of this property for a calendar component that was just created by the "Organizer": SEQUENCE:0 The following is an example of this property for a calendar component that has been revised two different times by the "Organizer": SEQUENCE:2
    • setSequence

      public void setSequence(Sequence sequence)
    • setSequence

      public void setSequence(String sequence)
    • setSequence

      public void setSequence(Integer sequence)
    • withSequence

      public T withSequence(Sequence sequence)
    • withSequence

      public T withSequence(Integer sequence)
    • withSequence

      public T withSequence(String sequence)
    • incrementSequence

      public void incrementSequence()
    • getStatus

      public Status getStatus()
      STATUS RFC 5545 iCalendar 3.8.1.11. page 92 This property defines the overall status or confirmation for the calendar component. Example: STATUS:TENTATIVE
    • setStatus

      public void setStatus(Status status)
    • setStatus

      public void setStatus(String status)
    • setStatus

      public void setStatus(Status.StatusType status)
    • withStatus

      public T withStatus(Status status)
    • withStatus

      public T withStatus(Status.StatusType status)
    • withStatus

      public T withStatus(String status)
    • getSummary

      public Summary getSummary()
      SUMMARY RFC 5545 iCalendar 3.8.1.12. page 93 This property defines a short summary or subject for the calendar component. Example: SUMMARY:Department Party
      Specified by:
      getSummary in interface VDescribable<T>
    • setSummary

      public void setSummary(Summary summary)
      Specified by:
      setSummary in interface VDescribable<T>
    • dateTimeStartListenerHook

      void dateTimeStartListenerHook()
      Description copied from class: VPrimary
      DTSTART: Date-Time Start, from RFC 5545 iCalendar 3.8.2.4 page 97 Start date/time of repeat rule. Used as a starting point for making the Stream of valid start date/times of the repeating events. Can contain either a LocalDate (DATE) or LocalDateTime (DATE-TIME)
      Overrides:
      dateTimeStartListenerHook in class VPrimary<T>
    • streamRecurrences

      @Deprecated public Stream<Temporal> streamRecurrences(Temporal start)
      Deprecated.
      Description copied from interface: VRepeatable
      Produces a stream of dates or date-times (depending on DTSTART) that represents the start of each element in the recurrence set. The values are calculated after applying DTSTART, RDATE, RRULE, and EXDATE properties. If the RRULE is forever, then the stream has no end as well. For a VEvent without RRULE or RDATE the stream will contain only one element.
      Specified by:
      streamRecurrences in interface VRepeatable<T>
      Parameters:
      start - - include recurrences that END before this value
      Returns:
      - stream of start dates or date/times for the recurrence set
    • recurrenceCache

      public RecurrenceRuleCache recurrenceCache()
      Description copied from interface: VRepeatable
      Handles caching of recurrence start Temporal values.
      Specified by:
      recurrenceCache in interface VRepeatable<T>
    • recurrenceChildren

      public List<VDisplayable<?>> recurrenceChildren()
    • recurrenceParent

      public VDisplayable<?> recurrenceParent()
    • orphanedRecurrenceChildren

      public List<VDisplayable<?>> orphanedRecurrenceChildren()
      returns list of orphaned recurrence components due to a change. These components should be deleted
    • errors

      public List<String> errors()
      Description copied from interface: VElement
      Produces a list of error messages indicating problems with calendar element VElement.errors() is invoked recursively to return errors of child elements in addition to errors in parent
      Specified by:
      errors in interface VElement
      Overrides:
      errors in class VPersonal<T>
      Returns:
      - list of error messages
    • eraseDateTimeProperties

      public void eraseDateTimeProperties()
      Erase all date/time properties such as DTSTART, DTEND, DURATION, and DUE (which ever exist). This is necessary to prepare a CANCEL iTIP message for one recurrence instance.