View Javadoc

1   package org.odmg;
2   
3   
4   
5   /**
6   
7    * The ODMG Set collection interface.
8   
9    * A <code>DSet</code> object is an unordered collection that does not support
10  
11   * multiple elements with the same value. An implementation typically is very
12  
13   * efficient at determining whether the collection contains a particular value.
14  
15   * <p>
16  
17   * All of the operations defined by the JavaSoft <code>Set</code>
18  
19   * interface are supported by an ODMG implementation of <code>DSet</code>,
20  
21   * the exception <code>UnsupportedOperationException</code> is not thrown when a
22  
23   * call is made to any of the <code>Set</code> methods.
24  
25   * @author	David Jordan (as Java Editor of the Object Data Management Group)
26  
27   * @version ODMG 3.0
28  
29   */
30  
31  // * @see java.lang.UnsupportedOperationException
32  
33  
34  
35  public interface DSet extends DCollection, java.util.Set
36  
37  {
38  
39  
40  
41      /**
42  
43       * Create a new <code>DSet</code> object that is the set union of this
44  
45       * <code>DSet</code> object and the set referenced by <code>otherSet</code>.
46  
47       * @param	otherSet	The other set to be used in the union operation.
48  
49       * @return	A newly created <code>DSet</code> instance that contains the union of the two sets.
50  
51       */
52  
53      public DSet union(DSet otherSet);
54  
55  
56  
57      /**
58  
59       * Create a new <code>DSet</code> object that is the set intersection of this
60  
61       * <code>DSet</code> object and the set referenced by <code>otherSet</code>.
62  
63       * @param	otherSet	The other set to be used in the intersection operation.
64  
65       * @return	A newly created <code>DSet</code> instance that contains the
66  
67       * intersection of the two sets.
68  
69       */
70  
71      public DSet intersection(DSet otherSet);
72  
73  
74  
75      /**
76  
77       * Create a new <code>DSet</code> object that contains the elements of this
78  
79       * collection minus the elements in <code>otherSet</code>.
80  
81       * @param	otherSet	A set containing elements that should not be in the result set.
82  
83       * @return	A newly created <code>DSet</code> instance that contains the elements
84  
85       * of this set minus those elements in <code>otherSet</code>.
86  
87       */
88  
89      public DSet difference(DSet otherSet);
90  
91  
92  
93      /**
94  
95       * Determine whether this set is a subset of the set referenced by <code>otherSet</code>.
96  
97       * @param	otherSet	Another set.
98  
99       * @return True if this set is a subset of the set referenced by <code>otherSet</code>,
100 
101      * otherwise false.
102 
103      */
104 
105     public boolean subsetOf(DSet otherSet);
106 
107 
108 
109     /**
110 
111      * Determine whether this set is a proper subset of the set referenced by
112 
113      * <code>otherSet</code>.
114 
115      * @param	otherSet	Another set.
116 
117      * @return True if this set is a proper subset of the set referenced by
118 
119      * <code>otherSet</code>, otherwise false.
120 
121      */
122 
123     public boolean properSubsetOf(DSet otherSet);
124 
125 
126 
127     /**
128 
129      * Determine whether this set is a superset of the set referenced by <code>otherSet</code>.
130 
131      * @param	otherSet	Another set.
132 
133      * @return True if this set is a superset of the set referenced by <code>otherSet</code>,
134 
135      * otherwise false.
136 
137      */
138 
139     public boolean supersetOf(DSet otherSet);
140 
141 
142 
143     /**
144 
145      * Determine whether this set is a proper superset of the set referenced by
146 
147      * <code>otherSet</code>.
148 
149      * @param	otherSet	Another set.
150 
151      * @return True if this set is a proper superset of the set referenced by
152 
153      * <code>otherSet</code>, otherwise false.
154 
155      */
156 
157     public boolean properSupersetOf(DSet otherSet);
158 
159 }
160