FlexDoc/Javadoc - JavadocClassic - Templates

Fragment Subtemplates

Called from other templates to generate small (but frequent) fragments of the documentation.

annotations.tpl

This template generates the list of annotations (along with all related hyperlinks) of like shown on the following screenshots (annotations are highlighted with red boxes):

Here is the template's root section block that generates the annotation list (click to see in full size):

Besides the annotation lists, this template can generate also the representation of a specific annotation value. That is used in block-tags.tpl to represent the default value of an Annotation Type Element.

The following screenshots show some important stock-sections of this template. Stock-sections are template components that work similar to procedures of ordinary programming languages. Each stock-section can be called from different locations of the template (including even from itself).

This stock-section reproduces a single annotation (as it would look in the Java code):

An annotation can be reporduced in two layouts:
  1. As a monospaced text flow possibly with non-collapsible spaces and new lines
  2. As a grid (table), if the output format is HTML and this is a multi-line annotation to be put in a separate paragraph (in case of module/package/class/member header), so as to avoid its distortion when the annotation type name is extended automatically with the external link icon using CSS.
This stock-section reproduces the annotation's element/value list:

This stock-section reproduces the annotation value:

Template Location:

{flexdoc-javadoc}/templates/classic/lib/annotation/annotations.tpl

Called From:

module.tpl, package.tpl, class.tpl, type.tpl, typeArguments.tpl, serialized-form.tpl, block-tags.tpl

Calls:

className.tpl, classLinkTitle.tpl

className.tpl

This template generates the name of a Java class and the hyperlink from it to the class documentation (click to see in full size):

Here is how the class name is produced. The most of code works to determine if the class name should be qualified or simple one. The name will be qualified, when all is true:
  1. The “Show | Package Qualifiers” parameter is set true.
  2. The class is not documented locally in this documentation.
  3. The external documentation for this class is not provided or qualifiers must not be omited for external links; see parameter: Show | Package Qualifiers | Omit For | External Links
  4. The class' package is not the one, whose qualifier must be omited; see parameter: Show | Package Qualifiers | Omit For | Packages

The generation of the hyperlink. First, try to connect to the class' local documentation. Then, to the external one.

Specifying a special style for external hyperlink. Its purpose is to prevent the hyperlink wrapping when it is extended automatically with the special external link icon using CSS.

Template Location:

{flexdoc-javadoc}/templates/classic/lib/class/className.tpl

Called From:

module.tpl, class.tpl, class-summary.tpl, serialized-form.tpl, annotations.tpl, type.tpl, doc-reference.tpl, block-tags.tpl

Calls:

classLinkTitle.tpl

classLinkTitle.tpl

Generate the title (tooltip) for a class hyperlink:

Template Location:

{flexdoc-javadoc}/templates/classic/lib/class/classLinkTitle.tpl

Called From:

class.tpl, class-summary.tpl, package-use.tpl, class-use.tpl, class-tree.tpl, deprecated-list.tpl, index-letter.tpl, serialized-form.tpl, constant-values.tpl, allclasses-frame.tpl, package-frame.tpl, annotations.tpl, className.tpl

type.tpl

This template generates the text representation of a Java type the same as in Java code and with all relevant hyperlinks.
Examples:

int
boolean

primitive type
java.lang.String
class
int[]
String[]
array
Comparator<String>
java.util.Map<? extends K,? extends V>
parametrized type
V
type variable
Here is the template's root section block, which contains just a call of 'Type' stock-section that generates the actual type representation. Such a construct is needed because that stock-section recursively calls itself and therefore needs to have a name. Click to see in full size:

The 'Type' stock-section that generates the type representation:

The 'Type' stock-section in expanded form:

Template Location:

{flexdoc-javadoc}/templates/classic/lib/class/type.tpl

Called From:

class.tpl, class-use.tpl, index-letter.tpl, serialized-form.tpl, constant-values.tpl, typeArguments.tpl

Calls:

annotations.tpl, className.tpl, typeArguments.tpl

typeArguments.tpl

This template generates the representation of type arguments ot type parameters (their declaration).
Examples:

<String>
<?>
<? extends K,? extends V>

type arguments
<T>
<T extends Object & Comparable<? super T>>
declarations of a type parameter T
That everything is generated by the template's root section block (click to see in full size):

Template Location:

{flexdoc-javadoc}/templates/classic/lib/class/typeArguments.tpl

Called From:

class.tpl, class-summary.tpl, class-use.tpl, index-letter.tpl, serialized-form.tpl, constant-values.tpl, type.tpl

Calls:

annotations.tpl, type.tpl

navbar.tpl

This template generates all navigation bars found the framed HTML documentation.

Each navigation bar for a particular page type is generated by the corresponding Area Section visible on the template screenshot (click to see in full size):

The necessary section is activated (enabled) according to the value of the template parameter '$type' passed internally to this template from the calling one, which generates the whole page.

The expanded Area Section below is specified to generate navigation bars for class documentation pages (which are generated by the class.tpl template):

Here is how such a navigation bar looks:

On the next screenshot you can see how another section is programmed to generate navigation bars for index pages (generated by the index-all.tpl / index-letter.tpl templates):

Below is an example of its output:

The letter bar at the bottom is generated separately by the “Letter Bar” stock-section:

Template Location:

{flexdoc-javadoc}/templates/classic/lib/frgm/navbar.tpl

Controlled By Parameter Group:

Generate | Navigation bar

Called From:

class-summary.tpl, class-tree.tpl, class-use.tpl, class.tpl, constant-values.tpl, deprecated-list.tpl, help-doc.tpl, index-all.tpl, index-letter.tpl, overview.tpl, package-use.tpl, package.tpl, serialized-form.tpl

navbar-bottom.tpl

Generates overall footer of each detail page in framed HTML documentation including footer navigation bar, bottom text and «About» section.

Template Location:

{flexdoc-javadoc}/templates/classic/lib/frgm/navbar-bottom.tpl
Controlled By Parameters:

Called From:

class-summary.tpl, class-tree.tpl, class-use.tpl, class.tpl, constant-values.tpl, deprecated-list.tpl, help-doc.tpl, index-all.tpl, index-letter.tpl, overview.tpl, package-use.tpl, package.tpl, serialized-form.tpl

Calls:

navbar.tpl, about.tpl

about.tpl

This template adds the About section at the bottom of each separate output document. It displays the information about FlexDoc/Javadoc product along with the hyperlinks to this website.

Template Location:

{flexdoc-javadoc}/templates/classic/lib/frgm/about.tpl

Controlled By Parameter:

Generate | About (footer)

Called From:

navbar-bottom.tpl, SingleDoc.tpl

demo-incomplete.tpl

This template is used only during the demo mode, when the demo limits have been exceeded, to insert in the generated documentation the messages about that.

Template Location:

{flexdoc-javadoc}/templates/classic/lib/frgm/demo-incomplete.tpl

Called From:

SingleDoc.tpl, overview.tpl, module.tpl, package.tpl, class.tpl, package-summary.tpl, class-summary.tpl, package-use.tpl, class-use.tpl, class-tree.tpl, deprecated-list.tpl, index-all.tpl, index-letter.tpl, serialized-form.tpl, constant-values.tpl, help-doc.tpl, navbar-bottom.tpl