Controls the general handling of Javadoc comments.
Please refer to the section called “Templates” for information about how to define templates that are used for Javadoc comment generation.
Enables or disables the comment auto-generation as a whole.
Since 1.2.1
Enables comment auto-generation for inner classes, too. Auto-generation does not apply to anonymous inner classes.
Controls whether the auto-generation should be enabled for methods that follow the JavaBeans naming convention (Getter/Setter). Please note that you can control what methods should be recognized as Boolean Getters via a regular expression. Refer to “Boolean Getter Regex” for more information.
Since 1.3
Controls whether Javadoc comments should be generated for methods that are implementing/overriding others.
Example 2.810. Class hierarchy
public interface Foo { /** * Does foo. */ public void doFoo(); } public abstract class BaseFoo implements Foo { public void doFoo() { /* ... */ } } public abstract class FooImpl extends BaseFoo { @Override public void doFoo() { /* ... */ } }
With this option enabled, Jalopy would not generate Javadoc for
doFoo() in BaseFoo or
FooImpl, because they implement or override another
method.
Since 1.8
Controls whether Javadoc generation for methods that are implementing or overriding others, creates @see tags to point to the referenced method. When disabled, Javadoc generation uses the descriptions given in the different templates.
Example 2.811. Generated Javadocs
package com.foo; public interface Foo { /** * Does foo. */ public void doFoo(); } public abstract class BaseFoo implements Foo { /** * DOCME! */ public void doFoo() { ... } /** * DOCME! */ public void doBar() { ... } } public abstract class FooImpl extends BaseFoo { /** * DOCME! */ @Override public void doFoo() { ... } }
But when this option has been enabled, Jalopy automatically creates @see tags that references the overridden or implemented method in order to point to the documentation available there.
Example 2.812. Generated Javadocs
package com.foo; public interface Foo { /** * Does foo. */ public void doFoo(); } public abstract class BaseFoo implements Foo { /** * @see com.foo.Foo#doFoo() */ public void doFoo() { ... } /** * DOCME! */ public void doBar() { ... } } public abstract class FooImpl extends BaseFoo { /** * @see com.foo.Foo$doFoo() */ @Override public void doFoo() { ... } }
Since 1.8
When enabled, the textual contents of all existing comments that appear before a certain node are used as the description section (instead of the one defined in the template). Otherwise the generated Javadoc comment is simply inserted below any already existing comments.
Since 1.5
Example 2.813. Method without Javadoc comment
/* * HTML is the top level element */ public static Node parseDocument(Lexer lexer) {}
When the option is left disabled, the above example would become
Example 2.814. Generated comment
/* * HTML is the top level element */ /** * DOCME! * * @param lexer DOCME! * * @return DOCME! */ public static Node parseDocument(Lexer lexer) {}
But when the option is enabled, the result would be
Example 2.815. Generated comment that uses existing comment
/** * HTML is the top level element * * @param lexer DOCME! * * @return DOCME! */ public static Node parseDocument(Lexer lexer) {}
Lets you control whether the value of the "property.name" local environment variable should be split into several chunks or just have its prefix stripped upon interpolation.
When enabled, the property name is determined from the method name by stripping the bean prefix and taking any upper case letter followed by a lower case letter and put a space in front of it. E.g. “getImportanceValue” would result in "Importance Value", “getABSValue” in "ABS Value" and “isValid” in “Valid”. The case of all chunks is adjusted according to the rules as sketched below.
"8.8 Capitalization of inferred names.
When we use design patterns to infer a property or event name, we need to decide what rules to follow for capitalizing the inferred name. If we extract the name from the middle of a normal mixedCase style Java name then the name will, by default, begin with a capital letter. Java programmers are accustomed to having normal identifiers start with lower case letters. Vigorous reviewer input has convinced us that we should follow this same conventional rule for property and event names.
Thus when we extract a property or event name from the middle of an existing Java name, we normally convert the first character to lower case. However to support the occasional use of all upper-case names, we check if the first two characters of the name are both upper case and if so leave it alone. So for example,
“FooBah” becomes “fooBah”
“Z” becomes “z”
“URL” becomes “URL”
[taken from the JavaBeans Spec]
When disabled, just the bean prefix is stripped and the case of the first letter adjusted according to the rules laid out in the JavaBean spec.
Since 1.3
Example 2.816. Javadoc template for Setter
/** * Sets the value of the $property.name$ property. * * @param name $property.name$ property value. */ public void setImportanceValue(String value) { ... }
Example 2.817. Generated Javadoc comment with formatted JavaBeans property name
/** * Sets the value of the Importance Value property. * * @param name importance value property value. */ public void setImportanceValue(String value) { ... }
Example 2.818. Generated Javadoc comment with unformatted JavaBeans property name
/** * Sets the value of the ImportanceValue property. * * @param name importanceValue property value. */ public void setImportanceValue(String value) { ... }
The table component lets you selectively enable the auto-generation of missing Javadoc comments for specific code elements and access levels. Please note that you can selectively disable Javadoc generation in source code files by using a special pragma comment. Refer to the Pragma comments section for more information.
Lets you disable Javadoc generation within classes that extend a certain class
or implement a certain interface.
This option is useful if you generally want to document inner classes, but obmit
documentation for certain inner classes like e.g. Swing listeners.
Use the button to define the type names of
extends or implements clauses that should
disable Javadoc generation when found.
Please note that Javadoc generation will only be disabled for the methods,
fields etc. defined within a class - the class declaration itself is not
affected. Please note further that comparison is done using exact string
matching: you need to specify the type name exactly as it appears in the source
file. ActionListener and
java.awt.event.ActionListener are treated as two
different type names. If you mix qualified and simple type names in your source,
you need to define both type names here.
Since 1.6
Example 2.819. Java source file with missing Javadoc
/** * A sample class. */ public class Foo { class MyAction implements ActionListener { public void actionPerformed(ActionEvent ev) { ... } } }
Javadoc generation without exclusions could look like:
Example 2.820. Javadoc generation without exclusion
/** * A sample class. */ public class Foo { /** * DOCME! * * @author Joe Tiger * @version $version$ */ class MyAction implements ActionListener { /** * DOCME! * * @param ev DOCME! */ public void actionPerformed(ActionEvent ev) { ... } } }
But with Javadoc generation disabled for ActionListener,
the result could look like:
Example 2.821. Javadoc generation with exclusion
/** * A sample class. */ public class Foo { /** * DOCME! * * @author Joe Tiger * @version $version$ */ class MyAction implements ActionListener { public void actionPerformed(ActionEvent ev) { ... } } }
Please note how Javadoc is added for the inner class declaration but omitted for the contained method!