Class VToDo

  • All Implemented Interfaces:
    Serializable, ComponentContainer<Component>, PropertyContainer

    public class VToDo
    extends CalendarComponent
    implements ComponentContainer<Component>
    $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:
    Serialized Form
    • Constructor Detail

      • 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​(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 Detail

      • getAlarms

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

        public final void 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