01: // The contents of this file are subject to the Mozilla Public License Version
02: // 1.1
03: //(the "License"); you may not use this file except in compliance with the
04: //License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
05: //
06: //Software distributed under the License is distributed on an "AS IS" basis,
07: //WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
08: //for the specific language governing rights and
09: //limitations under the License.
10: //
11: //The Original Code is "The Columba Project"
12: //
13: //The Initial Developers of the Original Code are Frederik Dietz and Timo
14: // Stich.
15: //Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003.
16: //
17: //All Rights Reserved.
18: package org.columba.calendar.model.api;
19:
20: import java.net.URL;
21: import java.util.Calendar;
22:
23: /**
24: * Defines an iCalendar VTODO component.
25: * <p>
26: * <pre>
27: * 4.6.2 To-do Component
28: *
29: * Component Name: VTODO
30: *
31: * Purpose: Provide a grouping of calendar properties that describe a to-do.
32: *
33: * Formal Definition: A "VTODO" calendar component is defined by the following
34: * notation:
35: *
36: * todoc = "BEGIN" ":" "VTODO" CRLF todoprop *alarmc "END" ":" "VTODO" CRLF
37: *
38: * todoprop = *( ; the following are optional, ; but MUST NOT occur more than
39: * once
40: *
41: * class / completed / created / description / dtstamp / dtstart / geo /
42: * last-mod / location / organizer / percent / priority / recurid / seq / status /
43: * summary / uid / url / ; either 'due' or 'duration' may appear in ; a
44: * 'todoprop', but 'due' and 'duration' ; MUST NOT occur in the same 'todoprop'
45: *
46: * due / duration / ; the following are optional, ; and MAY occur more than once
47: *
48: * attach / attendee / categories / comment / contact / exdate / exrule /
49: * rstatus / related / resources / rdate / rrule / x-prop )
50: * </pre>
51: *
52: * @author fdietz
53: *
54: */
55: public interface ITodo extends IComponent, ICategoryList,
56: IAttachmentList {
57:
58: public abstract Calendar getDue();
59:
60: /**
61: * @return Returns the dtStart.
62: */
63: public abstract Calendar getDtStart();
64:
65: /**
66: * @return Returns the priority.
67: */
68: public abstract String getPriority();
69:
70: /**
71: * @return Returns the summary.
72: */
73: public abstract String getSummary();
74:
75: /**
76: * @return Returns the description.
77: */
78: public abstract String getDescription();
79:
80: /**
81: * @return Returns the url.
82: */
83: public abstract URL getUrl();
84:
85: /**
86: * @return Returns the eventClass.
87: */
88: public abstract String getEventClass();
89:
90: }
|