package example.advanced; import example.helloworld.HelloWorld; import org.seamless.xhtml.XHTML; import example.util.DocletTest; import org.testng.annotations.Test; import static org.testng.Assert.assertEquals; /** * Creating links to citations * <p> * Lemma will recognize any {@code @link} tags in your Javadoc comments and try to * match them by cross-referencing all your citations for the same Java package, method, or class. * Consider the following example: * </p> * <a class="citation" href="javacode://example.advanced.LinkingCitations" style="include: FRAG1"/> * <p> * When you include this Javadoc comment with a Lemma citation, a regular XHTML anchor will * be created automatically. Lemma will try to match the target of the link to any of your citations. * So if you also have a citation of the {@code HelloWorld} class in your manual, the following link * will be automatically generated: * </p> * <a class="citation" href="example/advanced/example01_output.xhtml" style="include: FRAG1"/> * <p> * The title of the anchor will match the title of the target - if the target has a title. If neither * the target or its title can be found, a warning message will be logged during processing and broken * link placeholder will be set in the output XHTML. * </p> */ public class LinkingCitations extends DocletTest { // DOC: FRAG1 /** * This method calls * the {@link example.helloworld.HelloWorld} class. */ public void callHelloWorld() { new HelloWorld(); } // DOC: FRAG1 /** * This is a broken link to * the {@link HelloWorld#getMessage} method * followed by {@link HelloWorld#sayHello this link} to the source of * another method. */ public void brokenLinks() { } @Test public void processDocumentation() throws Exception { XHTML output = getTemplatePipeline().execute( parseDocument("example/advanced/example01_input.xhtml") ); assertEquals( getParser().print(output), getContent("example/advanced/example01_output.xhtml") ); } }