/** * {@inheritDoc} */ public TagletOutput getTagletOutput(Doc holder, TagletWriter writer) { ExecutableMemberDoc execHolder = (ExecutableMemberDoc) holder; ThrowsTag[] tags = execHolder.throwsTags(); TagletOutput result = writer.getOutputInstance(); HashSet<String> alreadyDocumented = new HashSet<String>(); if (tags.length > 0) { result.appendOutput(throwsTagsOutput( execHolder.throwsTags(), writer, alreadyDocumented, true)); } result.appendOutput(inheritThrowsDocumentation(holder, execHolder.thrownExceptionTypes(), alreadyDocumented, writer)); result.appendOutput(linkToUndocumentedDeclaredExceptions( execHolder.thrownExceptionTypes(), alreadyDocumented, writer)); return result; }
/** * {@inheritDoc} */ public Content getTagletOutput(Doc holder, TagletWriter writer) { ExecutableMemberDoc execHolder = (ExecutableMemberDoc) holder; ThrowsTag[] tags = execHolder.throwsTags(); Content result = writer.getOutputInstance(); HashSet<String> alreadyDocumented = new HashSet<String>(); if (tags.length > 0) { result.addContent(throwsTagsOutput( execHolder.throwsTags(), writer, alreadyDocumented, true)); } result.addContent(inheritThrowsDocumentation(holder, execHolder.thrownExceptionTypes(), alreadyDocumented, writer)); result.addContent(linkToUndocumentedDeclaredExceptions( execHolder.thrownExceptionTypes(), alreadyDocumented, writer)); return result; }
protected void writeExceptions(ExecutableMemberDoc member) { Type[] exceptions = member.thrownExceptionTypes(); if(exceptions.length > 0) { LinkInfoImpl memberTypeParam = new LinkInfoImpl( LinkInfoImpl.CONTEXT_MEMBER, member, false); int retlen = getReturnTypeLength(member); writer.getTypeParameterLinks(memberTypeParam); retlen += memberTypeParam.displayLength == 0 ? 0 : memberTypeParam.displayLength + 1; String indent = makeSpace(modifierString(member).length() + member.name().length() + retlen - 4); writer.println(); writer.print(indent); writer.print("throws "); indent += " "; writer.printLink(new LinkInfoImpl( LinkInfoImpl.CONTEXT_MEMBER, exceptions[0])); for(int i = 1; i < exceptions.length; i++) { writer.println(","); writer.print(indent); writer.printLink(new LinkInfoImpl( LinkInfoImpl.CONTEXT_MEMBER, exceptions[i])); } } }
/** * Add exceptions for the executable member. * * @param member the member to write exceptions for. * @param htmltree the content tree to which the exceptions information will be added. */ protected void addExceptions(ExecutableMemberDoc member, Content htmltree, int indentSize) { Type[] exceptions = member.thrownExceptionTypes(); if (exceptions.length > 0) { LinkInfoImpl memberTypeParam = new LinkInfoImpl(configuration, LinkInfoImpl.Kind.MEMBER, member); String indent = makeSpace(indentSize + 1 - 7); htmltree.addContent(DocletConstants.NL); htmltree.addContent(indent); htmltree.addContent("throws "); indent = makeSpace(indentSize + 1); Content link = writer.getLink(new LinkInfoImpl(configuration, LinkInfoImpl.Kind.MEMBER, exceptions[0])); htmltree.addContent(link); for(int i = 1; i < exceptions.length; i++) { htmltree.addContent(","); htmltree.addContent(DocletConstants.NL); htmltree.addContent(indent); Content exceptionLink = writer.getLink(new LinkInfoImpl( configuration, LinkInfoImpl.Kind.MEMBER, exceptions[i])); htmltree.addContent(exceptionLink); } } }