KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > eclipse > jdt > internal > corext > refactoring > typeconstraints > typesets > TypeSetUnion


1 /*******************************************************************************
2  * Copyright (c) 2000, 2005 IBM Corporation and others.
3  * All rights reserved. This program and the accompanying materials
4  * are made available under the terms of the Eclipse Public License v1.0
5  * which accompanies this distribution, and is available at
6  * http://www.eclipse.org/legal/epl-v10.html
7  *
8  * Contributors:
9  * Robert M. Fuhrer (rfuhrer@watson.ibm.com), IBM Corporation - initial API and implementation
10  *******************************************************************************/

11 package org.eclipse.jdt.internal.corext.refactoring.typeconstraints.typesets;
12
13 import java.util.Iterator JavaDoc;
14
15 import org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType;
16
17 public class TypeSetUnion extends TypeSet {
18     private TypeSet fLHS;
19     private TypeSet fRHS;
20
21     public TypeSetUnion(TypeSet lhs, TypeSet rhs) {
22         super(lhs.getTypeSetEnvironment());
23         fLHS= lhs;
24         fRHS= rhs;
25     }
26
27     /* (non-Javadoc)
28      * @see org.eclipse.jdt.internal.corext.refactoring.typeconstraints.typesets.TypeSet#isUniverse()
29      */

30     public boolean isUniverse() {
31         if (fLHS.isUniverse() || fRHS.isUniverse())
32             return true;
33         if (fLHS.isSingleton() && fRHS.isSingleton())
34             return false;
35         throw new IllegalStateException JavaDoc("unimplemented"); //$NON-NLS-1$
36
}
37
38     /* (non-Javadoc)
39      * @see org.eclipse.jdt.internal.corext.refactoring.typeconstraints.typesets.TypeSet#makeClone()
40      */

41     public TypeSet makeClone() {
42         return new TypeSetUnion(fLHS.makeClone(), fRHS.makeClone());
43     }
44
45     /* (non-Javadoc)
46      * @see org.eclipse.jdt.internal.corext.refactoring.typeconstraints.typesets.TypeSet#isEmpty()
47      */

48     public boolean isEmpty() {
49         return fLHS.isEmpty() && fRHS.isEmpty();
50     }
51
52     /* (non-Javadoc)
53      * @see org.eclipse.jdt.internal.corext.refactoring.typeconstraints.typesets.TypeSet#contains(TType)
54      */

55     public boolean contains(TType t) {
56         return fLHS.contains(t) || fRHS.contains(t);
57     }
58
59     /* (non-Javadoc)
60      * @see org.eclipse.jdt.internal.corext.refactoring.typeconstraints.typesets.TypeSet#containsAll(org.eclipse.jdt.internal.corext.refactoring.typeconstraints.typesets.TypeSet)
61      */

62     public boolean containsAll(TypeSet s) {
63         return fLHS.containsAll(s) || fRHS.containsAll(s);
64     }
65
66     /* (non-Javadoc)
67      * @see org.eclipse.jdt.internal.corext.refactoring.typeconstraints.typesets.TypeSet#anyMember()
68      */

69     public TType anyMember() {
70         return fLHS.anyMember();
71     }
72
73     /* (non-Javadoc)
74      * @see java.lang.Object#equals(java.lang.Object)
75      */

76     public boolean equals(Object JavaDoc o) {
77         if (o instanceof TypeSetUnion) {
78             TypeSetUnion other= (TypeSetUnion) o;
79             return other.fLHS.equals(fLHS) && other.fRHS.equals(fRHS);
80         } else
81             return false;
82     }
83
84     /* (non-Javadoc)
85      * @see org.eclipse.jdt.internal.corext.refactoring.typeconstraints.typesets.TypeSet#upperBound()
86      */

87     public TypeSet upperBound() {
88         throw new IllegalStateException JavaDoc("unimplemented"); //$NON-NLS-1$
89
}
90
91     /* (non-Javadoc)
92      * @see org.eclipse.jdt.internal.corext.refactoring.typeconstraints.typesets.TypeSet#lowerBound()
93      */

94     public TypeSet lowerBound() {
95         throw new IllegalStateException JavaDoc("unimplemented"); //$NON-NLS-1$
96
}
97
98     /* (non-Javadoc)
99      * @see org.eclipse.jdt.internal.corext.refactoring.typeconstraints.typesets.TypeSet#iterator()
100      */

101     public Iterator JavaDoc iterator() {
102         throw new IllegalStateException JavaDoc("unimplemented"); //$NON-NLS-1$
103
}
104     /* (non-Javadoc)
105      * @see org.eclipse.jdt.internal.corext.refactoring.typeconstraints.typesets.TypeSet#isSingleton()
106      */

107     public boolean isSingleton() {
108         return fLHS.isSingleton() && fRHS.isSingleton() && fLHS.anyMember().equals(fRHS.anyMember());
109     }
110
111     /* (non-Javadoc)
112      * @see org.eclipse.jdt.internal.corext.refactoring.typeconstraints.typesets.TypeSet#hasUniqueLowerBound()
113      */

114     public boolean hasUniqueLowerBound() {
115         return false;
116     }
117
118     /* (non-Javadoc)
119      * @see org.eclipse.jdt.internal.corext.refactoring.typeconstraints.typesets.TypeSet#hasUniqueUpperBound()
120      */

121     public boolean hasUniqueUpperBound() {
122         return false;
123     }
124
125     /* (non-Javadoc)
126      * @see org.eclipse.jdt.internal.corext.refactoring.typeconstraints.typesets.TypeSet#uniqueLowerBound()
127      */

128     public TType uniqueLowerBound() {
129         return null;
130     }
131
132     /* (non-Javadoc)
133      * @see org.eclipse.jdt.internal.corext.refactoring.typeconstraints.typesets.TypeSet#uniqueUpperBound()
134      */

135     public TType uniqueUpperBound() {
136         return null;
137     }
138
139     /* (non-Javadoc)
140      * @see org.eclipse.jdt.internal.corext.refactoring.typeconstraints.typesets.TypeSet#enumerate()
141      */

142     public EnumeratedTypeSet enumerate() {
143         EnumeratedTypeSet result= fLHS.enumerate();
144
145         result.addAll(fRHS.enumerate());
146         return result;
147     }
148
149     public String JavaDoc toString() {
150         return "<" + fID + ": union(" + fLHS + "," + fRHS + ")>"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
151
}
152 }
153
Popular Tags