Class VToDo

All Implemented Interfaces:
Serializable, ComponentContainer<Component>, FluentComponent, PropertyContainer, RecurrenceSupport<VToDo>

public class VToDo extends CalendarComponent implements ComponentContainer<Component>, RecurrenceSupport<VToDo>
$Id$ [Apr 5, 2004] Defines an iCalendar VTODO component.
       4.6.2 To-do Component

          Component Name: VTODO

          Purpose: Provide a grouping of calendar properties that describe a
          to-do.

          Formal Definition: 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

                       )
 
Example 1 - Creating a todo of two (2) hour duration starting tomorrow:

 java.util.Calendar cal = java.util.Calendar.getInstance();
 // tomorrow..
 cal.add(java.util.Calendar.DAY_OF_MONTH, 1);
 cal.set(java.util.Calendar.HOUR_OF_DAY, 11);
 cal.set(java.util.Calendar.MINUTE, 00);

 VToDo documentation = new VEvent(cal.getTime(), 1000 * 60 * 60 * 2,
         "Document calendar component usage");

 // add timezone information..
 VTimeZone tz = VTimeZone.getDefault();
 TzId tzParam = new TzId(tz.getProperties().getProperty(Property.TZID)
         .getValue());
 documentation.getProperties().getProperty(Property.DTSTART).getParameters()
         .add(tzParam);
 
See Also:
  • Constructor Details

    • VToDo

      public VToDo()
      Default constructor.
    • VToDo

      public VToDo(boolean initialise)
    • VToDo

      public VToDo(PropertyList properties)
      Constructor.
      Parameters:
      properties - a list of properties
    • VToDo

      public VToDo(PropertyList properties, ComponentList<VAlarm> alarms)
    • VToDo

      public VToDo(Date start, String summary)
      Constructs a new VTODO instance starting at the specified time with the specified summary.
      Parameters:
      start - the start date of the new todo
      summary - the todo summary
    • VToDo

      public VToDo(Date start, Date due, String summary)
      Constructs a new VTODO instance starting and ending at the specified times with the specified summary.
      Parameters:
      start - the start date of the new todo
      due - the due date of the new todo
      summary - the todo summary
    • VToDo

      public VToDo(Date start, TemporalAmount duration, String summary)
      Constructs a new VTODO instance starting at the specified times, for the specified duration, with the specified summary.
      Parameters:
      start - the start date of the new todo
      duration - the duration of the new todo
      summary - the todo summary
  • Method Details

    • getAlarms

      public final ComponentList<VAlarm> getAlarms()
      Returns the list of alarms for this todo.
      Returns:
      a component list
    • getComponents

      public ComponentList<Component> getComponents()
      Specified by:
      getComponents in interface ComponentContainer<Component>
    • validate

      public ValidationResult validate(boolean recurse) throws ValidationException
      Perform validation on a component.
      Specified by:
      validate in class Component
      Parameters:
      recurse - indicates whether to validate the component's properties
      Throws:
      ValidationException - where the component is not in a valid state
    • getValidator

      protected Validator getValidator(Method method)
      Specified by:
      getValidator in class CalendarComponent
      Parameters:
      method - a method to validate on
      Returns:
      a validator for the specified method or null if the method is not supported
    • getClassification

      public final Clazz getClassification()
      Returns:
      the optional access classification property
    • getDateCompleted

      public final Completed getDateCompleted()
      Returns:
      the optional date completed property
    • getCreated

      public final Created getCreated()
      Returns:
      the optional creation-time property
    • getDescription

      public final Description getDescription()
      Returns:
      the optional description property
    • getStartDate

      public final DtStart getStartDate()
      Convenience method to pull the DTSTART out of the property list.
      Returns:
      The DtStart object representation of the start Date
    • getGeographicPos

      public final Geo getGeographicPos()
      Returns:
      the optional geographic position property
    • getLastModified

      public final LastModified getLastModified()
      Returns:
      the optional last-modified property
    • getLocation

      public final Location getLocation()
      Returns:
      the optional location property
    • getOrganizer

      public final Organizer getOrganizer()
      Returns:
      the optional organizer property
    • getPercentComplete

      public final PercentComplete getPercentComplete()
      Returns:
      the optional percentage complete property
    • getPriority

      public final Priority getPriority()
      Returns:
      the optional priority property
    • getDateStamp

      public final DtStamp getDateStamp()
      Returns:
      the optional date-stamp property
    • getSequence

      public final Sequence getSequence()
      Returns:
      the optional sequence number property
    • getStatus

      public final Status getStatus()
      Returns:
      the optional status property
    • getSummary

      public final Summary getSummary()
      Returns:
      the optional summary property
    • getUrl

      public final Url getUrl()
      Returns:
      the optional URL property
    • getRecurrenceId

      public final RecurrenceId getRecurrenceId()
      Returns:
      the optional recurrence identifier property
    • getDuration

      public final Duration getDuration()
      Returns:
      the optional Duration property
    • getDue

      public final Due getDue()
      Returns:
      the optional due property
    • getUid

      public final Uid getUid()
      Returns the UID property of this component if available.
      Returns:
      a Uid instance, or null if no UID property exists
    • equals

      public boolean equals(Object arg0)
      Overrides:
      equals in class Component
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Component