1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package gov.nasa.pds.tools.label;
17
18 import java.util.Collection;
19 import java.util.Iterator;
20 import java.util.List;
21 import java.util.ArrayList;
22
23 /***
24 * This class implements the Collection interface to hide its backing.
25 * It is a unordered set of {@link Value}. A set can appear on
26 * the right hand side of an {@link AttributeStatement}.
27 * @author pramirez
28 * @version $Revision: 2606 $
29 *
30 */
31 public class Set implements Collection, Value {
32 private List values;
33
34 public Set() {
35 values = new ArrayList();
36 }
37
38 public Set(Collection values) {
39 values = new ArrayList(values);
40 }
41
42
43
44
45 public int size() {
46 return values.size();
47 }
48
49
50
51
52 public boolean isEmpty() {
53 return values.isEmpty();
54 }
55
56
57
58
59 public boolean contains(Object object) {
60 return values.contains(object);
61 }
62
63
64
65
66 public Iterator iterator() {
67 return values.iterator();
68 }
69
70
71
72
73 public Object[] toArray() {
74 return values.toArray();
75 }
76
77
78
79
80 public Object[] toArray(Object[] objects) {
81 return values.toArray(objects);
82 }
83
84
85
86
87 public boolean add(Object object) {
88 return values.add(object);
89 }
90
91
92
93
94 public boolean remove(Object object) {
95 return values.remove(object);
96 }
97
98
99
100
101 public boolean containsAll(Collection values) {
102 return this.values.containsAll(values);
103 }
104
105
106
107
108 public boolean addAll(Collection values) {
109 return this.values.addAll(values);
110 }
111
112
113
114
115 public boolean removeAll(Collection values) {
116 return this.values.removeAll(values);
117 }
118
119
120
121
122 public boolean retainAll(Collection values) {
123 return this.values.retainAll(values);
124 }
125
126
127
128
129 public void clear() {
130 values.clear();
131 }
132
133 }