1414 * limitations under the License.
1515 */
1616
17- import com .sun .javadoc .Tag ;
18- import com .sun .tools .doclets .Taglet ;
17+ import com .sun .source .doctree .DocTree ;
18+ import com .sun .source .doctree .UnknownBlockTagTree ;
19+ import jdk .javadoc .doclet .Taglet ;
20+ import javax .lang .model .element .Element ;
21+ import java .util .HashSet ;
22+ import java .util .List ;
23+ import java .util .Set ;
1924
20- public abstract class DocTaglet implements Taglet {
21-
22- public boolean inConstructor () {
23- return true ;
24- }
25-
26- public boolean inField () {
27- return true ;
28- }
29-
30- public boolean inMethod () {
31- return true ;
32- }
33-
34- public boolean inOverview () {
35- return true ;
36- }
25+ import static java .util .Arrays .asList ;
26+ import static jdk .javadoc .doclet .Taglet .Location .*;
3727
38- public boolean inPackage () {
39- return true ;
40- }
28+ public abstract class DocTaglet implements Taglet {
4129
42- public boolean inType () {
43- return true ;
30+ @ Override
31+ public Set <Location > getAllowedLocations () {
32+ return new HashSet <Location >(asList (CONSTRUCTOR , METHOD , FIELD , OVERVIEW , PACKAGE , TYPE ));
4433 }
4534
35+ @ Override
4636 public boolean isInlineTag () {
4737 return false ;
4838 }
4939
50- public String toString (final Tag [] tags ) {
51- if (tags .length == 0 ) {
40+ @ Override
41+ public String toString (List <? extends DocTree > tags , Element element ) {
42+ if (tags .size () == 0 ) {
5243 return null ;
5344 }
5445
5546 StringBuilder buf = new StringBuilder (String .format ("<dl><dt><span class=\" strong\" >%s</span></dt>" , getHeader ()));
56- for (Tag t : tags ) {
57- buf .append ("<dd>" ).append (genLink (t .text ())).append ("</dd>" );
47+ for (DocTree tag : tags ) {
48+ String text = ((UnknownBlockTagTree ) tag ).getContent ().get (0 ).toString ();
49+ buf .append ("<dd>" ).append (genLink (text )).append ("</dd>" );
5850 }
5951 return buf .toString ();
6052 }
6153
62- protected abstract String getHeader ();
63-
64- public String toString (final Tag tag ) {
65- return toString (new Tag []{tag });
66- }
67-
6854 protected String genLink (final String text ) {
6955 String relativePath = text ;
7056 String display = text ;
@@ -78,5 +64,7 @@ protected String genLink(final String text) {
7864 return String .format ("<a href='%s%s'>%s</a>" , getBaseDocURI (), relativePath , display );
7965 }
8066
67+ protected abstract String getHeader ();
68+
8169 protected abstract String getBaseDocURI ();
8270}
0 commit comments