DocFlex/Javadoc - “JavadocClassic” Template Set

  1. What is JavadocClassic?
  2. Key Features (What you can generate with it)
  3. Template Set Overview
  4. Advantages of JavadocClassic
  5. Licensing

1.  What is JavadocClassic?

“JavadocClassic” is a new template set for DocFlex/Javadoc that implements a powerful Java API documentation generator in several output formats with the support of filtering of classes and members by tags/annotations.

It employes almost all recent advances in DocFlex Technology!

2.  Key Features (What you can generate with it)

Framed HTML Documentation

Using FramedDoc.tpl main template, you can generate a complete JavaDoc identical to the classic one.

Click on a screenshot to view a demo HTML JavaDoc:

Framed HTML documentation
Jumping directly to a particular detail
The following functionality is fully supported:

Single File HTML Documentation

The same entire documentation can be equally generated as a single HTML file using SingleDoc.tpl main template.

RTF Documentation

Using SingleDoc.tpl main template, it is possible not only to generate a single file HTML. Simply, by switch the generator output format to “RTF”, the same template will produce a highest quality RTF file!

This includes:

These screenshots show pages of an RTF documentation generated by several JDK Source classes (click to see in full size):
See also DocFlex/Javadoc | Examples | RTF Demo for more details about that demo RTF and other screenshots.

PDF Documentation

Using some of the available RTF -> PDF converters, you can also produce a top quality PDF documentation.

Here is a PDF JavaDoc generated in that way (click on the screenshot to see/download the PDF file, 570 KB):

Such documentation can be used both for printing and publishing on the web.

Filtering of classes and members by tags and annotations

You can both: This will equally work for all types of generated documentation.

See also:

More than 70 parameters to customize your JavaDoc

The parameters work similar to options provided by the Standard Doclet. You can both edit them in a tree-like form using a graphic GUI and specify directly on the command line (and even via some of the old standard options).

For further details about template parameters, please see:

3.  Template Set Overview

The entire “JavadocClassic” template set currently consists of 28 templates, which include: For detailed information about each template, please see: DocFlex/Javadoc | JavadocClassic | Templates

Main Templates

Main templates are those that can be specified for interpretation directly either with -template option on the Javadoc command line or in the Doclet GUI. In effect, each main template is a driver for a particular kind of documentation generator.

Main Template Summary
FramedDoc.tpl Generates framed HTML Java API documentation identical to the classic JavaDoc.
SingleDoc.tpl Generates single-file JavaDoc (both RTF and HTML).


Besides the main templates, there are many other templates (called subtemplates) that are used internally. Those templates work as procedures invoked from the main templates as well as from each other.

Subtemplate Summary
init.tpl This template produces no output. Instead, it is called only once from either SingleDoc.tpl or FramedDoc.tpl main templates before any other processing starts. The template's job is to create element maps that are critical for the working of other templates.
overview.tpl Generates the documentation Overview page/section (an equivalent of the overview-summary.html file generated by the Standard Doclet).
package.tpl Generates a Package Overview page/section for every Java package being documented (an equivalent of the package-summary.html file generated by the Standard Doclet), which includes package description, tags and summary tables of contained classes.
class.tpl Generates a Class Details page/section for a class/interface/enum or an annotation type. The class details may include the class description, various reference lists about it, as well as the details of all documented members of that class (except nested classes). This provides the bulk of the whole Java API documentation.
class-summary.tpl Generates the All Classes Summary page, which is loaded when clicking on “All Classes” item in the navigation bar in framed HTML documentation.
package-use.tpl Generates a “use” page for each documented package. The page describes which packages and classes use any API of the given package.
class-use.tpl Generates a “use” page for each documented class. The page describes which packages, classes, methods, constructors and fields use any API of the given class.
class-tree.tpl Generates class/interface hierarchy pages. These are the pages you reach using the “Tree” button in the navigation bar.
deprecated-list.tpl Generates the deprecated API page ('deprecated-list.html' file), which contains the list of deprecated APIs, and the “Deprecated” link in the navigation bar to that page.
index-all.tpl Generates a single index page ('index-all.html' file). It is used when no splitting of the index into multiple files has been specified.
index-letter.tpl Generates for a particular letter either a section of the whole index file (i.e. 'index-all.html' generated by index-all.tpl) or a corresponding separate index page ('index-*.html').
serialized-form.tpl This template generates the serialized form page, which provides information about serializable and externalizable classes.
constant-values.tpl This template generates the constant field values page ('constant-values.html' file), which lists the static final fields and their values.
help-doc.tpl Generates the help page. This is the page you reach using the “Help” button in the navigation bar.
overview-frame.tpl Generates the primary navigation page, which includes the lists all packages and other primary links. It is used in the upper-left "overview" frame.
all-classes-frame.tpl Generates a navigation page with the list of all documented classes. It is loaded in the lower-left "summary" frame.
package-frame.tpl Generates a separate navigation page for each documented package, which is loaded into the lower-left "summary" frame on clicking on the corresponding package in the "overview" frame.
package-list.tpl Generates a Package List file, which is a plain-text file that lists the names of all documented packages (or those containing the documented classes).
package-summary.tpl Generate a package summary table included in the general Overview (produced overview.tpl template).
title-page.tpl Generates the Title Page (which will be the front page of the RTF documentation).
TOC.tpl Generates the Table Of Contents of the documentation.
navbar.tpl Generates all navigation bars found the framed HTML documentation.
annotations.tpl Generates the list of annotations (along with all related hyperlinks) of a package, class, member or constructor/method parameter.
see-link.tpl Processes a user-defined cross-reference to related documentation.
inline-tag.tpl Processes most of the inline tags.
about.tpl Adds the About section at the bottom of each separate output document. It displays the information about DocFlex/Javadoc product along with the hyperlinks to this website.

Template Parameters

Since all the content and formatting of the generated JavaDoc is programmed entirely in the template set (which, in effect, becomes the actual doclet), what previously were command-line options provided by the Standard Doclet now simply become template parameters.

But introducing and checking parameters in templates is much easier than implementing some command-line options controlling a Java code. (In fact, it is writing a parameter description what takes the most time in many cases!) So, there can be a lot more template parameters than in the case of in traditional “command-line options” approach.

“JavadocClassic” currently provides more than 70 parameters.

Parameter Inspector GUI

To control so many parameters, DocFlex Doclet provides a GUI that includes the Parameter Inspector dialog (which is invoked from the main dialog on clicking “Params” button for the specified template).

On the following screenshot you can see the Parameter Inspector loaded with the parameters of FramedDoc.tpl (click to view an expanded form):

Template Parameter Inspector with parameters of FramedDoc.tpl
The inspector content is constructed dynamically from the parameter definitions found in the given template.

Using Parameter Inspector, you can:

For further details, please see: Documentation | DocFlex Doclet | Handling Template Parameters | Using Parameter Insector GUI

Setting parameters from command line

Besides the Parameter Inspector dialog, you can always set any template parameters directly on the command line using -p option.

Please see: Documentation | DocFlex Doclet | Handling Template Parameters | Setting parameters from command line

Specifying parameters via Standard Doclet options

“JavadocClassic” maps some of the Standard Doclet options to the default values of appropriate template parameters. This lets you using those options instead of specifying the corresponding parameters.

For more information about this capability and its implementation, see also:

Below is the list of all supported Standard Doclet options along with the template parameters, to which they are mapped:

Standard Option Mapped to Template Parameter
-author Inlcude | Tags | @author
-bottom Generate | Bottom Text
-doctitle Documentation Title
-footer Generate | Navigation bar | Footer Text
-group Generate | Overview | Package Summary | Package Groups
-header Generate | Navigation bar | Header Text
-nodeprecated Include | Deprecated API
-nodeprecatedlist Generate | Cross-Reference Pages | Deprecated List
-nohelp Generate | Help
-noindex Generate | Cross-Reference Pages | Index
-nonavbar Generate | Navigation bar
-noqualifier Show | Package Qualifiers
Show | Package Qualifiers | Omit for Packages
-nosince Inlcude | Tags | @since
-notree Generate | Cross-Reference Pages | Tree (Class Hierarchy)
-splitindex Generate | Cross-Reference Pages | Index | Split
-tag Inlcude | Tags | Custom tags
-version Inlcude | Tags | @version
-windowtitle Window Title

5.  Advantages of JavadocClassic

We suggest the following advantages of using DocFlex/Javadoc + JavadocClassic Template Set:

6.  Licensing

The “JavadocClassic” template set is included in both editions of DocFlex/Javadoc. However, it will work differently depending on your license for DocFlex/Javadoc software.

There are two modes: limited and full.

Limited mode - Use it for free!

This mode is activated by default without any special license.

What you can:

What you cannot:

Full functionality - Get a DocFlex/Javadoc license and use everything!

JavadocClassic will be fully unlocked under the same “DocFlex/Javadoc” license that covers the Full Edition. It will also allow you to customize all the templates as much as you need.

Copyright© 2018 Filigris Works. Leonid Rudy Softwareprodukte. All rights reserved.
To contact us, please visit or e-mail to: