langtools/test/tools/javadoc/sampleapi/README.txt
author hannesw
Tue, 22 Mar 2016 14:23:16 +0100
changeset 36690 06b714373aa4
parent 33919 e9fccc09cfc6
permissions -rw-r--r--
8151810: for-in iteration does not provide per-iteration scope Reviewed-by: attila, lagergren


            SampleAPI Generator for javadoc

1. General description

    The primary goal is to provide one or more data sets to be used as input
to the javadoc tool, such that it can be used to generate representative samples
of all the different content on all the different types of pages that can be
generated by javadoc.

    The tool is implemented as generator based on xml descriptions of data sets.
The xml description of data set provides top level entities (class, interface,
enum, annotation) with all possible content. Desired output parameters (fields,
methods, inner/nested classes) are also described in xml as lists of modifiers,
types and annotations. The generator "multiply" the entities from the lists
providing the set of all possible combinations.

    After the api generation the tool connects the javadoc style comments to
the generated entities with full possible sets of supported tags.

2. Tool structure

    Sources:
        test/tools/javadoc/sampleapi/lib - generator sources
        test/tools/javadoc/sampleapi/res/xml - sample data sets in xml
        test/tools/javadoc/sampleapi/res/txt - sample texts for doc comments

3. Public API

3.1 Command line runner

  * test/tools/javadoc/sampleapi/lib/sampleapi/SampleApiDefaultRunner.java

    class sampleapi.SampleApiDefaultRunner

  Options: [-?|-h|--help] [-o:<dir>|--outdir:<dir>]
    -?|-h|--help             - print help
    -o:<dir>|--outdir:<dir>  - set <dir> to generate output

3.2 Programmatic access

  * test/tools/javadoc/sampleapi/lib/sampleapi/SampleApi.java

    class sampleapi.SampleApi

    public void generate(File dir)
    public void generate(Path dir)
    public void generate(String dir)

3.3 How to run other xml data set description

  Put data set xml description into res/xml directory

  * test/tools/javadoc/sampleapi/lib/sampleapi/generator/PackageGenerator.java

    class sampleapi.generator.PackageGenerator

    public void processDataSet(String dsName)
    public void generate(File outDir)