All Implemented Interfaces:
VAttendee<VTodo>, VComponent, VDescribable<VTodo>, VDescribable2<VTodo>, VDuration<VTodo>, VLastModified<VTodo>, VRepeatable<VTodo>, VChild, VElement, VParent

public class VTodo extends VLocatable<VTodo> implements VDescribable2<VTodo>
VTODO To-Do Component RFC 5545, 3.6.2, page 55 A "VTODO" calendar component is a grouping of component properties and possibly "VALARM" calendar components that represent an action-item or assignment. For example, it can be used to represent an item of work assigned to an individual; such as "turn in travel expense today". The "VTODO" calendar component cannot be nested within another calendar component. However, "VTODO" calendar components can be related to each other or to a "VEVENT" or to a "VJOURNAL" calendar component with the "RELATED-TO" property. A "VTODO" calendar component without the "DTSTART" and "DUE" (or "DURATION") properties specifies a to-do that will be associated with each successive calendar date, until it is completed. Examples: The following is an example of a "VTODO" calendar component that needs to be completed before May 1st, 2007. On midnight May 1st, 2007 this to-do would be considered overdue. BEGIN:VTODO UID:20070313T123432Z-456553@example.com DTSTAMP:20070313T123432Z DUE;VALUE=DATE:20070501 SUMMARY:Submit Quebec Income Tax Return for 2006 CLASS:CONFIDENTIAL CATEGORIES:FAMILY,FINANCE STATUS:NEEDS-ACTION END:VTODO
  • Field Details

    • dateTimeCompleted

      private DateTimeCompleted dateTimeCompleted
      COMPLETED: Date-Time Completed RFC 5545 iCalendar 3.8.2.1 page 94 This property defines the date and time that a to-do was actually completed. The value MUST be specified in the UTC time format. Example: COMPLETED:19960401T150000Z
    • dateTimeDue

      private DateTimeDue dateTimeDue
      DUE: Date-Time Due RFC 5545 iCalendar 3.8.2.3 page 96 This property defines the date and time that a to-do is expected to be completed. the value type of this property MUST be the same as the "DTSTART" property Example: DUE:TZID=America/Los_Angeles:19970512T090000
    • percentComplete

      private PercentComplete percentComplete
      PERCENT-COMPLETE RFC 5545 iCalendar 3.8.1.8. page 88 This property is used by an assignee or delegatee of a to-do to convey the percent completion of a to-do to the "Organizer". The property value is a positive integer between 0 and 100. A value of "0" indicates the to-do has not yet been started. A value of "100" indicates that the to-do has been completed. Example: The following is an example of this property to show 39% completion: PERCENT-COMPLETE:39
  • Constructor Details

    • VTodo

      public VTodo()
    • VTodo

      public VTodo(VTodo source)
  • Method Details

    • getDateTimeCompleted

      public DateTimeCompleted getDateTimeCompleted()
    • setDateTimeCompleted

      public void setDateTimeCompleted(String dateTimeCompleted)
    • setDateTimeCompleted

      public void setDateTimeCompleted(DateTimeCompleted dateTimeCompleted)
    • setDateTimeCompleted

      public void setDateTimeCompleted(ZonedDateTime dateTimeCompleted)
    • withDateTimeCompleted

      public VTodo withDateTimeCompleted(ZonedDateTime dateTimeCompleted)
    • withDateTimeCompleted

      public VTodo withDateTimeCompleted(String dateTimeCompleted)
    • withDateTimeCompleted

      public VTodo withDateTimeCompleted(DateTimeCompleted dateTimeCompleted)
    • getDateTimeDue

      public DateTimeDue getDateTimeDue()
    • setDateTimeDue

      public void setDateTimeDue(String dateTimeDue)
    • setDateTimeDue

      public void setDateTimeDue(DateTimeDue dateTimeDue)
    • setDateTimeDue

      public void setDateTimeDue(Temporal dateTimeDue)
    • withDateTimeDue

      public VTodo withDateTimeDue(Temporal dateTimeDue)
    • withDateTimeDue

      public VTodo withDateTimeDue(String dateTimeDue)
    • withDateTimeDue

      public VTodo withDateTimeDue(DateTimeDue dateTimeDue)
    • setDuration

      public void setDuration(DurationProp duration)
      Description copied from interface: VDuration
      Sets the value of the DurationProp
      Specified by:
      setDuration in interface VDuration<VTodo>
      Overrides:
      setDuration in class VLocatable<VTodo>
    • getPercentComplete

      public PercentComplete getPercentComplete()
    • setPercentComplete

      public void setPercentComplete(String percentComplete)
    • setPercentComplete

      public void setPercentComplete(Integer percentComplete)
    • setPercentComplete

      public void setPercentComplete(PercentComplete percentComplete)
    • withPercentComplete

      public VTodo withPercentComplete(PercentComplete percentComplete)
    • withPercentComplete

      public VTodo withPercentComplete(Integer percentComplete)
    • withPercentComplete

      public VTodo withPercentComplete(String percentComplete)
    • calendarList

      public List<VTodo> calendarList()
      Specified by:
      calendarList in interface VComponent
    • getActualDuration

      public TemporalAmount getActualDuration()
      Description copied from class: VLocatable
      A convenience method that returns either Duration property value, or a calculated duration based on start and end values
      Specified by:
      getActualDuration in class VLocatable<VTodo>
    • setEndOrDuration

      public void setEndOrDuration(Temporal startRecurrence, Temporal endRecurrence)
      Description copied from class: VLocatable
      A convenience method that sets DTEND, DURATION (VEvent) or DUE (VTodo) depending on which ever is already set to new value calculated by the duration or period between input parameters (depending on if the parameters are LocalDate or a date/time type (i.e. ZonedDateTime)) Note: In order to set DTEND, DTSTART must be assigned a value. DURATION and DUE doesn't require a DTSTART value.
      Specified by:
      setEndOrDuration in class VLocatable<VTodo>
      Parameters:
      startRecurrence -
      endRecurrence -
    • 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 VLocatable<VTodo>
      Returns:
      - list of error messages
    • eraseDateTimeProperties

      public void eraseDateTimeProperties()
      Description copied from class: VDisplayable
      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.
      Overrides:
      eraseDateTimeProperties in class VLocatable<VTodo>
    • parse

      public static VTodo parse(String content)
      Creates a new VTodo calendar component by parsing a String of iCalendar content lines
      Parameters:
      content - the text to parse, not null
      Returns:
      the parsed VTodo