1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package net.fortuna.ical4j.model.component;
35
36 import net.fortuna.ical4j.model.Component;
37 import net.fortuna.ical4j.model.Property;
38 import net.fortuna.ical4j.model.PropertyList;
39 import net.fortuna.ical4j.model.ValidationException;
40 import net.fortuna.ical4j.util.PropertyValidator;
41
42 /***
43 * Defines an iCalendar VTODO component.
44 *
45 * @author benf
46 */
47 public class VToDo extends Component {
48
49 /***
50 * Constructor.
51 *
52 * @param aList
53 * a list of properties
54 */
55 public VToDo(final PropertyList aList) {
56
57 super(VTODO, aList);
58 }
59
60
61
62
63
64
65 public final void validate(boolean recurse) throws ValidationException {
66
67
68
69
70
71
72
73
74 PropertyValidator.getInstance().validateOneOrLess(Property.CLASS,
75 getProperties());
76 PropertyValidator.getInstance().validateOneOrLess(Property.COMPLETED,
77 getProperties());
78 PropertyValidator.getInstance().validateOneOrLess(Property.CREATED,
79 getProperties());
80 PropertyValidator.getInstance().validateOneOrLess(Property.DESCRIPTION,
81 getProperties());
82 PropertyValidator.getInstance().validateOneOrLess(Property.DTSTAMP,
83 getProperties());
84 PropertyValidator.getInstance().validateOneOrLess(Property.DTSTART,
85 getProperties());
86 PropertyValidator.getInstance().validateOneOrLess(Property.GEO,
87 getProperties());
88 PropertyValidator.getInstance().validateOneOrLess(
89 Property.LAST_MODIFIED, getProperties());
90 PropertyValidator.getInstance().validateOneOrLess(Property.LOCATION,
91 getProperties());
92 PropertyValidator.getInstance().validateOneOrLess(Property.ORGANIZER,
93 getProperties());
94 PropertyValidator.getInstance().validateOneOrLess(
95 Property.PERCENT_COMPLETE, getProperties());
96 PropertyValidator.getInstance().validateOneOrLess(Property.PRIORITY,
97 getProperties());
98 PropertyValidator.getInstance().validateOneOrLess(
99 Property.RECURRENCE_ID, getProperties());
100 PropertyValidator.getInstance().validateOneOrLess(Property.SEQUENCE,
101 getProperties());
102 PropertyValidator.getInstance().validateOneOrLess(Property.STATUS,
103 getProperties());
104 PropertyValidator.getInstance().validateOneOrLess(Property.SUMMARY,
105 getProperties());
106 PropertyValidator.getInstance().validateOneOrLess(Property.UID,
107 getProperties());
108 PropertyValidator.getInstance().validateOneOrLess(Property.URL,
109 getProperties());
110
111
112
113
114
115
116
117
118 if (getProperties().getProperty(Property.DUE) != null
119 && getProperties().getProperty(Property.DURATION) != null) { throw new ValidationException(
120 "Properties [" + Property.DUE + "," + Property.DURATION
121 + "] may not occur in the same VEVENT"); }
122
123
124
125
126
127
128
129 if (recurse) {
130 validateProperties();
131 }
132 }
133 }