1 package org.apache.maven.tools.plugin.extractor.annotations.converter.tag.block;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import javax.inject.Named;
23 import javax.inject.Singleton;
24
25 import org.apache.maven.tools.plugin.extractor.annotations.converter.ConverterContext;
26 import org.apache.maven.tools.plugin.extractor.annotations.converter.tag.LinkUtils;
27
28
29
30
31
32 @Named( "see" )
33 @Singleton
34 public class SeeTagConverter
35 extends JavadocBlockTagToHtmlConverter
36 {
37 private static final String ATTRIBUTE_NAME_IS_FIRST_REFERENCE =
38 "SeeTagletConverter.isFirstReference";
39
40 @Override
41 public String convert( String value, ConverterContext context )
42 {
43 StringBuilder htmlBuilder = new StringBuilder();
44 Boolean isFirstReference = context.getAttribute( ATTRIBUTE_NAME_IS_FIRST_REFERENCE,
45 Boolean.class, Boolean.TRUE );
46 if ( Boolean.TRUE.equals( isFirstReference ) )
47 {
48
49 htmlBuilder.append( "<br/><strong>See also:</strong>\n" );
50 context.setAttribute( ATTRIBUTE_NAME_IS_FIRST_REFERENCE, Boolean.FALSE );
51 }
52 else
53 {
54
55 htmlBuilder.append( ", " );
56 }
57
58 if ( value.startsWith( "<a href" ) )
59 {
60 return htmlBuilder.append( value ).toString();
61 }
62
63 if ( value.startsWith( "\"" ) )
64 {
65 return htmlBuilder.append( value ).toString();
66 }
67 String link = LinkUtils.createLink( value, context );
68 htmlBuilder.append( link );
69 return htmlBuilder.toString();
70 }
71
72 }