101 ClassUseMapper mapper, DocPath filename, |
101 ClassUseMapper mapper, DocPath filename, |
102 ClassDoc classdoc) throws IOException { |
102 ClassDoc classdoc) throws IOException { |
103 super(configuration, filename); |
103 super(configuration, filename); |
104 this.classdoc = classdoc; |
104 this.classdoc = classdoc; |
105 if (mapper.classToPackageAnnotations.containsKey(classdoc.qualifiedName())) |
105 if (mapper.classToPackageAnnotations.containsKey(classdoc.qualifiedName())) |
106 pkgToPackageAnnotations = new TreeSet<PackageDoc>(mapper.classToPackageAnnotations.get(classdoc.qualifiedName())); |
106 pkgToPackageAnnotations = new TreeSet<>(mapper.classToPackageAnnotations.get(classdoc.qualifiedName())); |
107 configuration.currentcd = classdoc; |
107 configuration.currentcd = classdoc; |
108 this.pkgSet = new TreeSet<PackageDoc>(); |
108 this.pkgSet = new TreeSet<>(); |
109 this.pkgToClassTypeParameter = pkgDivide(mapper.classToClassTypeParam); |
109 this.pkgToClassTypeParameter = pkgDivide(mapper.classToClassTypeParam); |
110 this.pkgToClassAnnotations = pkgDivide(mapper.classToClassAnnotations); |
110 this.pkgToClassAnnotations = pkgDivide(mapper.classToClassAnnotations); |
111 this.pkgToMethodTypeParameter = pkgDivide(mapper.classToExecMemberDocTypeParam); |
111 this.pkgToMethodTypeParameter = pkgDivide(mapper.classToExecMemberDocTypeParam); |
112 this.pkgToMethodArgTypeParameter = pkgDivide(mapper.classToExecMemberDocArgTypeParam); |
112 this.pkgToMethodArgTypeParameter = pkgDivide(mapper.classToExecMemberDocArgTypeParam); |
113 this.pkgToFieldTypeParameter = pkgDivide(mapper.classToFieldDocTypeParam); |
113 this.pkgToFieldTypeParameter = pkgDivide(mapper.classToFieldDocTypeParam); |
175 PackageUseWriter.generate(configuration, mapper, pkg); |
175 PackageUseWriter.generate(configuration, mapper, pkg); |
176 } |
176 } |
177 } |
177 } |
178 |
178 |
179 private Map<String,List<ProgramElementDoc>> pkgDivide(Map<String,? extends List<? extends ProgramElementDoc>> classMap) { |
179 private Map<String,List<ProgramElementDoc>> pkgDivide(Map<String,? extends List<? extends ProgramElementDoc>> classMap) { |
180 Map<String,List<ProgramElementDoc>> map = new HashMap<String,List<ProgramElementDoc>>(); |
180 Map<String,List<ProgramElementDoc>> map = new HashMap<>(); |
181 List<? extends ProgramElementDoc> list= classMap.get(classdoc.qualifiedName()); |
181 List<? extends ProgramElementDoc> list= classMap.get(classdoc.qualifiedName()); |
182 if (list != null) { |
182 if (list != null) { |
183 Collections.sort(list); |
183 Collections.sort(list); |
184 for (ProgramElementDoc doc : list) { |
184 for (ProgramElementDoc doc : list) { |
185 PackageDoc pkg = doc.containingPackage(); |
185 PackageDoc pkg = doc.containingPackage(); |
186 pkgSet.add(pkg); |
186 pkgSet.add(pkg); |
187 List<ProgramElementDoc> inPkg = map.get(pkg.name()); |
187 List<ProgramElementDoc> inPkg = map.get(pkg.name()); |
188 if (inPkg == null) { |
188 if (inPkg == null) { |
189 inPkg = new ArrayList<ProgramElementDoc>(); |
189 inPkg = new ArrayList<>(); |
190 map.put(pkg.name(), inPkg); |
190 map.put(pkg.name(), inPkg); |
191 } |
191 } |
192 inPkg.add(doc); |
192 inPkg.add(doc); |
193 } |
193 } |
194 } |
194 } |