158 div.add(section); 159 bodyContents.addMainContent(div); 160 } 161 162 /** 163 * {@inheritDoc} 164 */ 165 @Override 166 public Content getConstantSummaries() { 167 HtmlTree summariesDiv = new HtmlTree(HtmlTag.DIV); 168 summariesDiv.setStyle(HtmlStyle.constantValuesContainer); 169 return summariesDiv; 170 } 171 172 /** 173 * {@inheritDoc} 174 */ 175 @Override 176 public void addPackageName(PackageElement pkg, Content summariesTree, boolean first) { 177 Content pkgNameContent; 178 if (!first) { 179 summariesTree.add(summaryTree); 180 } 181 if (pkg.isUnnamed()) { 182 summariesTree.add(links.createAnchor(SectionName.UNNAMED_PACKAGE_ANCHOR)); 183 pkgNameContent = contents.defaultPackageLabel; 184 } else { 185 String parsedPackageName = utils.parsePackageName(pkg); 186 summariesTree.add(links.createAnchor(parsedPackageName)); 187 pkgNameContent = getPackageLabel(parsedPackageName); 188 } 189 Content headingContent = new StringContent(".*"); 190 Content heading = HtmlTree.HEADING(Headings.ConstantsSummary.PACKAGE_HEADING, true, 191 pkgNameContent); 192 heading.add(headingContent); 193 summaryTree = HtmlTree.SECTION(HtmlStyle.constantsSummary, heading); 194 } 195 196 /** 197 * {@inheritDoc} 198 */ 199 @Override 200 public Content getClassConstantHeader() { 201 HtmlTree ul = new HtmlTree(HtmlTag.UL); 202 ul.setStyle(HtmlStyle.blockList); 203 return ul; 204 } 205 206 /** 207 * {@inheritDoc} 208 */ 209 @Override 210 public void addClassConstant(Content summariesTree, Content classConstantTree) { 211 summaryTree.add(classConstantTree); 212 } 213 236 Table table = new Table(HtmlStyle.constantsSummary) 237 .setCaption(caption) 238 .setHeader(constantsTableHeader) 239 .setRowScopeColumn(1) 240 .setColumnStyles(HtmlStyle.colFirst, HtmlStyle.colSecond, HtmlStyle.colLast); 241 242 for (VariableElement field : fields) { 243 table.addRow(getTypeColumn(field), getNameColumn(field), getValue(field)); 244 } 245 Content li = HtmlTree.LI(HtmlStyle.blockList, table.toContent()); 246 classConstantTree.add(li); 247 } 248 249 /** 250 * Get the type column for the constant summary table row. 251 * 252 * @param member the field to be documented. 253 * @return the type column of the constant table row 254 */ 255 private Content getTypeColumn(VariableElement member) { 256 Content anchor = links.createAnchor( 257 currentTypeElement.getQualifiedName() + "." + member.getSimpleName()); 258 Content typeContent = new ContentBuilder(); 259 typeContent.add(anchor); 260 Content code = new HtmlTree(HtmlTag.CODE); 261 for (Modifier mod : member.getModifiers()) { 262 Content modifier = new StringContent(mod.toString()); 263 code.add(modifier); 264 code.add(Entity.NO_BREAK_SPACE); 265 } 266 Content type = getLink(new LinkInfoImpl(configuration, 267 LinkInfoImpl.Kind.CONSTANT_SUMMARY, member.asType())); 268 code.add(type); 269 typeContent.add(code); 270 return typeContent; 271 } 272 273 /** 274 * Get the name column for the constant summary table row. 275 * 276 * @param member the field to be documented. 277 * @return the name column of the constant table row 278 */ 279 private Content getNameColumn(VariableElement member) { 280 Content nameContent = getDocLink(LinkInfoImpl.Kind.CONSTANT_SUMMARY, | 158 div.add(section); 159 bodyContents.addMainContent(div); 160 } 161 162 /** 163 * {@inheritDoc} 164 */ 165 @Override 166 public Content getConstantSummaries() { 167 HtmlTree summariesDiv = new HtmlTree(HtmlTag.DIV); 168 summariesDiv.setStyle(HtmlStyle.constantValuesContainer); 169 return summariesDiv; 170 } 171 172 /** 173 * {@inheritDoc} 174 */ 175 @Override 176 public void addPackageName(PackageElement pkg, Content summariesTree, boolean first) { 177 Content pkgNameContent; 178 String anchorName; 179 if (!first) { 180 summariesTree.add(summaryTree); 181 } 182 if (pkg.isUnnamed()) { 183 anchorName = SectionName.UNNAMED_PACKAGE_ANCHOR.getName(); 184 pkgNameContent = contents.defaultPackageLabel; 185 } else { 186 String parsedPackageName = utils.parsePackageName(pkg); 187 anchorName = parsedPackageName; 188 pkgNameContent = getPackageLabel(parsedPackageName); 189 } 190 Content headingContent = new StringContent(".*"); 191 Content heading = HtmlTree.HEADING(Headings.ConstantsSummary.PACKAGE_HEADING, true, 192 pkgNameContent); 193 heading.add(headingContent); 194 summaryTree = HtmlTree.SECTION(HtmlStyle.constantsSummary, heading) 195 .setId(links.getName(anchorName)); 196 } 197 198 /** 199 * {@inheritDoc} 200 */ 201 @Override 202 public Content getClassConstantHeader() { 203 HtmlTree ul = new HtmlTree(HtmlTag.UL); 204 ul.setStyle(HtmlStyle.blockList); 205 return ul; 206 } 207 208 /** 209 * {@inheritDoc} 210 */ 211 @Override 212 public void addClassConstant(Content summariesTree, Content classConstantTree) { 213 summaryTree.add(classConstantTree); 214 } 215 238 Table table = new Table(HtmlStyle.constantsSummary) 239 .setCaption(caption) 240 .setHeader(constantsTableHeader) 241 .setRowScopeColumn(1) 242 .setColumnStyles(HtmlStyle.colFirst, HtmlStyle.colSecond, HtmlStyle.colLast); 243 244 for (VariableElement field : fields) { 245 table.addRow(getTypeColumn(field), getNameColumn(field), getValue(field)); 246 } 247 Content li = HtmlTree.LI(HtmlStyle.blockList, table.toContent()); 248 classConstantTree.add(li); 249 } 250 251 /** 252 * Get the type column for the constant summary table row. 253 * 254 * @param member the field to be documented. 255 * @return the type column of the constant table row 256 */ 257 private Content getTypeColumn(VariableElement member) { 258 Content typeContent = new ContentBuilder(); 259 String id = currentTypeElement.getQualifiedName() + "." + member.getSimpleName(); 260 Content code = new HtmlTree(HtmlTag.CODE).setId(id); 261 for (Modifier mod : member.getModifiers()) { 262 Content modifier = new StringContent(mod.toString()); 263 code.add(modifier); 264 code.add(Entity.NO_BREAK_SPACE); 265 } 266 Content type = getLink(new LinkInfoImpl(configuration, 267 LinkInfoImpl.Kind.CONSTANT_SUMMARY, member.asType())); 268 code.add(type); 269 typeContent.add(code); 270 return typeContent; 271 } 272 273 /** 274 * Get the name column for the constant summary table row. 275 * 276 * @param member the field to be documented. 277 * @return the name column of the constant table row 278 */ 279 private Content getNameColumn(VariableElement member) { 280 Content nameContent = getDocLink(LinkInfoImpl.Kind.CONSTANT_SUMMARY, |