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;
35
36 import java.util.ArrayList;
37 import java.util.Iterator;
38 import java.util.List;
39 import java.util.StringTokenizer;
40
41 /***
42 * Defines a list of iCalendar resouces.
43 * @author benfortuna
44 */
45 public class ResourceList {
46
47 private List resources;
48
49 /***
50 * Default constructor.
51 */
52 public ResourceList() {
53 resources = new ArrayList();
54 }
55
56 /***
57 * Parses the specified string representation to create
58 * a list of resources.
59 * @param aValue a string representation of a list of
60 * resources
61 */
62 public ResourceList(final String aValue) {
63 resources = new ArrayList();
64
65 for (StringTokenizer t = new StringTokenizer(aValue, ","); t
66 .hasMoreTokens();) {
67 resources.add(t.nextToken());
68 }
69 }
70
71 /***
72 * @see java.util.AbstractCollection#toString()
73 */
74 public final String toString() {
75
76 StringBuffer b = new StringBuffer();
77
78 for (Iterator i = resources.iterator(); i.hasNext();) {
79
80 b.append(i.next());
81
82 if (i.hasNext()) {
83 b.append(',');
84 }
85 }
86
87 return b.toString();
88 }
89
90 /***
91 * Add a resource to the list.
92 * @param resource the resource to add
93 * @return true
94 * @see List#add(java.lang.Object)
95 */
96 public final boolean add(final String resource) {
97 return resources.add(resource);
98 }
99
100 /***
101 * @return boolean indicates if the list is empty
102 * @see List#isEmpty()
103 */
104 public final boolean isEmpty() {
105 return resources.isEmpty();
106 }
107
108 /***
109 * @return an iterator
110 * @see List#iterator()
111 */
112 public final Iterator iterator() {
113 return resources.iterator();
114 }
115
116 /***
117 * Remove a resource from the list
118 * @param resource the resource to remove
119 * @return true if the list contained the specified resource
120 * @see List#remove(java.lang.Object)
121 */
122 public final boolean remove(final String resource) {
123 return resources.remove(resource);
124 }
125
126 /***
127 * @return the number of resources in the list
128 * @see List#size()
129 */
130 public final int size() {
131 return resources.size();
132 }
133 }