langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/IndexBuilder.java
equal
deleted
inserted
replaced
130 /** |
130 /** |
131 * Sort the index map. Traverse the index map for all it's elements and |
131 * Sort the index map. Traverse the index map for all it's elements and |
132 * sort each element which is a list. |
132 * sort each element which is a list. |
133 */ |
133 */ |
134 protected void sortIndexMap() { |
134 protected void sortIndexMap() { |
135 for (Iterator<List<Doc>> it = indexmap.values().iterator(); it.hasNext(); ) { |
135 for (List<Doc> docs : indexmap.values()) { |
136 Collections.sort(it.next(), new DocComparator()); |
136 Collections.sort(docs, new DocComparator()); |
137 } |
137 } |
138 } |
138 } |
139 |
139 |
140 /** |
140 /** |
141 * Get all the members in all the Packages and all the Classes |
141 * Get all the members in all the Packages and all the Classes |
148 PackageDoc[] packages = root.specifiedPackages(); |
148 PackageDoc[] packages = root.specifiedPackages(); |
149 ClassDoc[] classes = root.classes(); |
149 ClassDoc[] classes = root.classes(); |
150 if (!classesOnly) { |
150 if (!classesOnly) { |
151 if (packages.length == 0) { |
151 if (packages.length == 0) { |
152 Set<PackageDoc> set = new HashSet<PackageDoc>(); |
152 Set<PackageDoc> set = new HashSet<PackageDoc>(); |
153 PackageDoc pd; |
153 for (ClassDoc aClass : classes) { |
154 for (int i = 0; i < classes.length; i++) { |
154 PackageDoc pd = aClass.containingPackage(); |
155 pd = classes[i].containingPackage(); |
|
156 if (pd != null && pd.name().length() > 0) { |
155 if (pd != null && pd.name().length() > 0) { |
157 set.add(pd); |
156 set.add(pd); |
158 } |
157 } |
159 } |
158 } |
160 adjustIndexMap(set.toArray(packages)); |
159 adjustIndexMap(set.toArray(packages)); |
162 adjustIndexMap(packages); |
161 adjustIndexMap(packages); |
163 } |
162 } |
164 } |
163 } |
165 adjustIndexMap(classes); |
164 adjustIndexMap(classes); |
166 if (!classesOnly) { |
165 if (!classesOnly) { |
167 for (int i = 0; i < classes.length; i++) { |
166 for (ClassDoc aClass : classes) { |
168 if (shouldAddToIndexMap(classes[i])) { |
167 if (shouldAddToIndexMap(aClass)) { |
169 putMembersInIndexMap(classes[i]); |
168 putMembersInIndexMap(aClass); |
170 } |
169 } |
171 } |
170 } |
172 } |
171 } |
173 sortIndexMap(); |
172 sortIndexMap(); |
174 } |
173 } |
192 * for that particular unicode character. |
191 * for that particular unicode character. |
193 * |
192 * |
194 * @param elements Array of members. |
193 * @param elements Array of members. |
195 */ |
194 */ |
196 protected void adjustIndexMap(Doc[] elements) { |
195 protected void adjustIndexMap(Doc[] elements) { |
197 for (int i = 0; i < elements.length; i++) { |
196 for (Doc element : elements) { |
198 if (shouldAddToIndexMap(elements[i])) { |
197 if (shouldAddToIndexMap(element)) { |
199 String name = elements[i].name(); |
198 String name = element.name(); |
200 char ch = (name.length()==0)? |
199 char ch = (name.length() == 0) ? |
201 '*' : |
200 '*' : |
202 Character.toUpperCase(name.charAt(0)); |
201 Character.toUpperCase(name.charAt(0)); |
203 Character unicode = new Character(ch); |
202 Character unicode = ch; |
204 List<Doc> list = indexmap.get(unicode); |
203 List<Doc> list = indexmap.get(unicode); |
205 if (list == null) { |
204 if (list == null) { |
206 list = new ArrayList<Doc>(); |
205 list = new ArrayList<Doc>(); |
207 indexmap.put(unicode, list); |
206 indexmap.put(unicode, list); |
208 } |
207 } |
209 list.add(elements[i]); |
208 list.add(element); |
210 } |
209 } |
211 } |
210 } |
212 } |
211 } |
213 |
212 |
214 /** |
213 /** |