org.apache.tools.ant.taskdefs
Class Javadoc

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.apache.tools.ant.Task
          extended by org.apache.tools.ant.taskdefs.Javadoc
All Implemented Interfaces:
java.lang.Cloneable

public class Javadoc
extends Task

Generates Javadoc documentation for a collection of source code.

Current known limitations are:

If no doclet is set, then the version and author are by default "yes".

Note: This task is run on another VM because the Javadoc code calls System.exit() which would break Ant functionality.

Since:
Ant 1.1

Nested Class Summary
static class Javadoc.AccessType
          EnumeratedAttribute implementation supporting the Javadoc scoping values.
 class Javadoc.DocletInfo
          This class stores info about doclets.
 class Javadoc.DocletParam
          Inner class used to manage doclet parameters.
static class Javadoc.ExtensionInfo
          A project aware class used for Javadoc extensions which take a name and a path such as doclet and taglet arguments.
 class Javadoc.GroupArgument
          A class corresponding to the group nested element.
static class Javadoc.Html
          An HTML element in the Javadoc.
 class Javadoc.LinkArgument
          Represents a link triplet (href, whether link is offline, location of the package list if off line)
static class Javadoc.PackageName
          Used to track info about the packages to be javadoc'd
 class Javadoc.ResourceCollectionContainer
          Holds a collection of ResourceCollections.
static class Javadoc.SourceFile
          This class is used to manage the source files to be processed.
 class Javadoc.TagArgument
          Class representing a -tag argument.
 
Field Summary
 
Fields inherited from class org.apache.tools.ant.Task
target, taskName, taskType, wrapper
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
 
Constructor Summary
Javadoc()
           
 
Method Summary
 void addBottom(Javadoc.Html text)
          Set the text to be placed at the bottom of each output file.
 void addDoctitle(Javadoc.Html text)
          Add a document title to use for the overview page.
 void addExcludePackage(Javadoc.PackageName pn)
          Add a package to be excluded from the Javadoc run.
 void addFileset(FileSet fs)
          Adds a fileset.
 void addFooter(Javadoc.Html text)
          Set the footer text to be placed at the bottom of each output file.
 void addHeader(Javadoc.Html text)
          Set the header text to be placed at the top of each output file.
 void addPackage(Javadoc.PackageName pn)
          Add a single package to be processed.
 void addPackageset(DirSet packageSet)
          Adds a packageset.
 void addSource(Javadoc.SourceFile sf)
          Add a single source file.
 void addTaglet(Javadoc.ExtensionInfo tagletInfo)
          Add a taglet
 Commandline.Argument createArg()
          Adds a command-line argument.
 Path createBootclasspath()
          Create a Path to be configured with the boot classpath
 Path createClasspath()
          Create a Path to be configured with the classpath to use
 Javadoc.DocletInfo createDoclet()
          Create a doclet to be used in the documentation generation.
 Javadoc.GroupArgument createGroup()
          Separates packages on the overview page into whatever groups you specify, one group per table.
 Javadoc.LinkArgument createLink()
          Create link to Javadoc output at the given URL.
 Javadoc.ResourceCollectionContainer createSourceFiles()
          Adds a container for resource collections.
 Path createSourcepath()
          Create a path to be configured with the locations of the source files.
 Javadoc.TagArgument createTag()
          Creates and adds a -tag argument.
 void execute()
          Execute the task.
protected  java.lang.String expand(java.lang.String content)
          Convenience method to expand properties.
 void setAccess(Javadoc.AccessType at)
          Set the scope to be processed.
 void setAdditionalparam(java.lang.String add)
          Set an additional parameter on the command line
 void setAuthor(boolean b)
          Include the author tag in the generated documentation.
 void setBootclasspath(Path path)
          Set the boot classpath to use.
 void setBootClasspathRef(Reference r)
          Adds a reference to a CLASSPATH defined elsewhere.
 void setBottom(java.lang.String bottom)
          Set the text to be placed at the bottom of each output file.
 void setBreakiterator(boolean b)
          Enables the -linksource switch, will be ignored if Javadoc is not the 1.4 version.
 void setCharset(java.lang.String src)
          Charset for cross-platform viewing of generated documentation.
 void setClasspath(Path path)
          Set the classpath to be used for this Javadoc run.
 void setClasspathRef(Reference r)
          Adds a reference to a CLASSPATH defined elsewhere.
 void setDefaultexcludes(boolean useDefaultExcludes)
          Sets whether default exclusions should be used or not.
 void setDestdir(java.io.File dir)
          Set the directory where the Javadoc output will be generated.
 void setDocencoding(java.lang.String enc)
          Output file encoding name.
 void setDoclet(java.lang.String docletName)
          Set the class that starts the doclet used in generating the documentation.
 void setDocletPath(Path docletPath)
          Set the classpath used to find the doclet class.
 void setDocletPathRef(Reference r)
          Set the classpath used to find the doclet class by reference.
 void setDoctitle(java.lang.String doctitle)
          Set the title of the generated overview page.
 void setEncoding(java.lang.String enc)
          Set the encoding name of the source files,
 void setExcludePackageNames(java.lang.String packages)
          Set the list of packages to be excluded.
 void setExecutable(java.lang.String executable)
          Sets the actual executable command to invoke, instead of the binary javadoc found in Ant's JDK.
 void setExtdirs(Path path)
          Set the location of the extensions directories.
 void setExtdirs(java.lang.String path)
          Deprecated. since 1.5.x. Use the setExtdirs(Path) version.
 void setFailonerror(boolean b)
          Should the build process fail if Javadoc fails (as indicated by a non zero return code)?
 void setFooter(java.lang.String footer)
          Set the footer text to be placed at the bottom of each output file.
 void setGroup(java.lang.String src)
          Group specified packages together in overview page.
 void setHeader(java.lang.String header)
          Set the header text to be placed at the top of each output file.
 void setHelpfile(java.io.File f)
          Specifies the HTML help file to use.
 void setIncludeNoSourcePackages(boolean b)
          If set to true, Ant will also accept packages that only hold package.html files but no Java sources.
 void setLink(java.lang.String src)
          Create links to Javadoc output at the given URL.
 void setLinkoffline(java.lang.String src)
          Link to docs at "url" using package list at "url2" - separate the URLs by using a space character.
 void setLinksource(boolean b)
          Enables the -linksource switch, will be ignored if Javadoc is not the 1.4 version.
 void setLocale(java.lang.String locale)
          Set the local to use in documentation generation.
 void setMaxmemory(java.lang.String max)
          Set the maximum memory to be used by the javadoc process
 void setNodeprecated(boolean b)
          Control deprecation infromation
 void setNodeprecatedlist(boolean b)
          Control deprecated list generation
 void setNohelp(boolean b)
          Control generation of help link.
 void setNoindex(boolean b)
          Control generation of index.
 void setNonavbar(boolean b)
          Control generation of the navigation bar.
 void setNoqualifier(java.lang.String noqualifier)
          Enables the -noqualifier switch, will be ignored if Javadoc is not the 1.4 version.
 void setNotree(boolean b)
          Control class tree generation.
 void setOld(boolean b)
          Indicate whether Javadoc should produce old style (JDK 1.1) documentation.
 void setOverview(java.io.File f)
          Specify the file containing the overview to be included in the generated documentation.
 void setPackage(boolean b)
          Indicate whether only package, protected and public classes and members are to be included in the scope processed
 void setPackageList(java.lang.String src)
          The name of a file containing the packages to process.
 void setPackagenames(java.lang.String packages)
          Set the package names to be processed.
 void setPrivate(boolean b)
          Indicate whether all classes and members are to be included in the scope processed
 void setProtected(boolean b)
          Indicate whether only protected and public classes and members are to be included in the scope processed
 void setPublic(boolean b)
          Indicate whether only public classes and members are to be included in the scope processed
 void setSerialwarn(boolean b)
          Control warnings about serial tag.
 void setSource(java.lang.String source)
          Enables the -source switch, will be ignored if Javadoc is not the 1.4 version.
 void setSourcefiles(java.lang.String src)
          Set the list of source files to process.
 void setSourcepath(Path src)
          Specify where to find source file
 void setSourcepathRef(Reference r)
          Adds a reference to a CLASSPATH defined elsewhere.
 void setSplitindex(boolean b)
          Generate a split index
 void setStylesheetfile(java.io.File f)
          Specifies the CSS stylesheet file to use.
 void setUse(boolean b)
          Generate the "use" page for each package.
 void setUseExternalFile(boolean b)
          Work around command line length limit by using an external file for the sourcefiles.
 void setVerbose(boolean b)
          Run javadoc in verbose mode
 void setVersion(boolean b)
          Include the version tag in the generated documentation.
 void setWindowtitle(java.lang.String title)
          Set the title to be placed in the HTML <title> tag of the generated documentation.
 
Methods inherited from class org.apache.tools.ant.Task
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
 
Methods inherited from class org.apache.tools.ant.ProjectComponent
clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Javadoc

public Javadoc()
Method Detail

setUseExternalFile

public void setUseExternalFile(boolean b)
Work around command line length limit by using an external file for the sourcefiles.

Parameters:
b - true if an external file is to be used.

setDefaultexcludes

public void setDefaultexcludes(boolean useDefaultExcludes)
Sets whether default exclusions should be used or not.

Parameters:
useDefaultExcludes - "true"|"on"|"yes" when default exclusions should be used, "false"|"off"|"no" when they shouldn't be used.

setMaxmemory

public void setMaxmemory(java.lang.String max)
Set the maximum memory to be used by the javadoc process

Parameters:
max - a string indicating the maximum memory according to the JVM conventions (e.g. 128m is 128 Megabytes)

setAdditionalparam

public void setAdditionalparam(java.lang.String add)
Set an additional parameter on the command line

Parameters:
add - the additional command line parameter for the javadoc task.

createArg

public Commandline.Argument createArg()
Adds a command-line argument.

Returns:
a command-line argument to configure
Since:
Ant 1.6

setSourcepath

public void setSourcepath(Path src)
Specify where to find source file

Parameters:
src - a Path instance containing the various source directories.

createSourcepath

public Path createSourcepath()
Create a path to be configured with the locations of the source files.

Returns:
a new Path instance to be configured by the Ant core.

setSourcepathRef

public void setSourcepathRef(Reference r)
Adds a reference to a CLASSPATH defined elsewhere.

Parameters:
r - the reference containing the source path definition.

setDestdir

public void setDestdir(java.io.File dir)
Set the directory where the Javadoc output will be generated.

Parameters:
dir - the destination directory.

setSourcefiles

public void setSourcefiles(java.lang.String src)
Set the list of source files to process.

Parameters:
src - a comma separated list of source files.

addSource

public void addSource(Javadoc.SourceFile sf)
Add a single source file.

Parameters:
sf - the source file to be processed.

setPackagenames

public void setPackagenames(java.lang.String packages)
Set the package names to be processed.

Parameters:
packages - a comma separated list of packages specs (may be wildcarded).
See Also:
for wildcard information.

addPackage

public void addPackage(Javadoc.PackageName pn)
Add a single package to be processed. If the package name ends with ".*" the Javadoc task will find and process all subpackages.

Parameters:
pn - the package name, possibly wildcarded.

setExcludePackageNames

public void setExcludePackageNames(java.lang.String packages)
Set the list of packages to be excluded.

Parameters:
packages - a comma separated list of packages to be excluded. This may not include wildcards.

addExcludePackage

public void addExcludePackage(Javadoc.PackageName pn)
Add a package to be excluded from the Javadoc run.

Parameters:
pn - the name of the package (wildcards are not permitted).

setOverview

public void setOverview(java.io.File f)
Specify the file containing the overview to be included in the generated documentation.

Parameters:
f - the file containing the overview.

setPublic

public void setPublic(boolean b)
Indicate whether only public classes and members are to be included in the scope processed

Parameters:
b - true if scope is to be public.

setProtected

public void setProtected(boolean b)
Indicate whether only protected and public classes and members are to be included in the scope processed

Parameters:
b - true if scope is to be protected.

setPackage

public void setPackage(boolean b)
Indicate whether only package, protected and public classes and members are to be included in the scope processed

Parameters:
b - true if scope is to be package level.

setPrivate

public void setPrivate(boolean b)
Indicate whether all classes and members are to be included in the scope processed

Parameters:
b - true if scope is to be private level.

setAccess

public void setAccess(Javadoc.AccessType at)
Set the scope to be processed. This is an alternative to the use of the setPublic, setPrivate, etc methods. It gives better build file control over what scope is processed.

Parameters:
at - the scope to be processed.

setDoclet

public void setDoclet(java.lang.String docletName)
Set the class that starts the doclet used in generating the documentation.

Parameters:
docletName - the name of the doclet class.

setDocletPath

public void setDocletPath(Path docletPath)
Set the classpath used to find the doclet class.

Parameters:
docletPath - the doclet classpath.

setDocletPathRef

public void setDocletPathRef(Reference r)
Set the classpath used to find the doclet class by reference.

Parameters:
r - the reference to the Path instance to use as the doclet classpath.

createDoclet

public Javadoc.DocletInfo createDoclet()
Create a doclet to be used in the documentation generation.

Returns:
a new DocletInfo instance to be configured.

addTaglet

public void addTaglet(Javadoc.ExtensionInfo tagletInfo)
Add a taglet

Parameters:
tagletInfo - information about the taglet.

setOld

public void setOld(boolean b)
Indicate whether Javadoc should produce old style (JDK 1.1) documentation. This is not supported by JDK 1.1 and has been phased out in JDK 1.4

Parameters:
b - if true attempt to generate old style documentation.

setClasspath

public void setClasspath(Path path)
Set the classpath to be used for this Javadoc run.

Parameters:
path - an Ant Path object containing the compilation classpath.

createClasspath

public Path createClasspath()
Create a Path to be configured with the classpath to use

Returns:
a new Path instance to be configured with the classpath.

setClasspathRef

public void setClasspathRef(Reference r)
Adds a reference to a CLASSPATH defined elsewhere.

Parameters:
r - the reference to an instance defining the classpath.

setBootclasspath

public void setBootclasspath(Path path)
Set the boot classpath to use.

Parameters:
path - the boot classpath.

createBootclasspath

public Path createBootclasspath()
Create a Path to be configured with the boot classpath

Returns:
a new Path instance to be configured with the boot classpath.

setBootClasspathRef

public void setBootClasspathRef(Reference r)
Adds a reference to a CLASSPATH defined elsewhere.

Parameters:
r - the reference to an instance defining the bootclasspath.

setExtdirs

public void setExtdirs(java.lang.String path)
Deprecated. since 1.5.x. Use the setExtdirs(Path) version.

Set the location of the extensions directories.

Parameters:
path - the string version of the path.

setExtdirs

public void setExtdirs(Path path)
Set the location of the extensions directories.

Parameters:
path - a path containing the extension directories.

setVerbose

public void setVerbose(boolean b)
Run javadoc in verbose mode

Parameters:
b - true if operation is to be verbose.

setLocale

public void setLocale(java.lang.String locale)
Set the local to use in documentation generation.

Parameters:
locale - the locale to use.

setEncoding

public void setEncoding(java.lang.String enc)
Set the encoding name of the source files,

Parameters:
enc - the name of the encoding for the source files.

setVersion

public void setVersion(boolean b)
Include the version tag in the generated documentation.

Parameters:
b - true if the version tag should be included.

setUse

public void setUse(boolean b)
Generate the "use" page for each package.

Parameters:
b - true if the use page should be generated.

setAuthor

public void setAuthor(boolean b)
Include the author tag in the generated documentation.

Parameters:
b - true if the author tag should be included.

setSplitindex

public void setSplitindex(boolean b)
Generate a split index

Parameters:
b - true if the index should be split into a file per letter.

setWindowtitle

public void setWindowtitle(java.lang.String title)
Set the title to be placed in the HTML <title> tag of the generated documentation.

Parameters:
title - the window title to use.

setDoctitle

public void setDoctitle(java.lang.String doctitle)
Set the title of the generated overview page.

Parameters:
doctitle - the Document title.

addDoctitle

public void addDoctitle(Javadoc.Html text)
Add a document title to use for the overview page.

Parameters:
text - the HTML element containing the document title.

setHeader

public void setHeader(java.lang.String header)
Set the header text to be placed at the top of each output file.

Parameters:
header - the header text

addHeader

public void addHeader(Javadoc.Html text)
Set the header text to be placed at the top of each output file.

Parameters:
text - the header text

setFooter

public void setFooter(java.lang.String footer)
Set the footer text to be placed at the bottom of each output file.

Parameters:
footer - the footer text.

addFooter

public void addFooter(Javadoc.Html text)
Set the footer text to be placed at the bottom of each output file.

Parameters:
text - the footer text.

setBottom

public void setBottom(java.lang.String bottom)
Set the text to be placed at the bottom of each output file.

Parameters:
bottom - the bottom text.

addBottom

public void addBottom(Javadoc.Html text)
Set the text to be placed at the bottom of each output file.

Parameters:
text - the bottom text.

setLinkoffline

public void setLinkoffline(java.lang.String src)
Link to docs at "url" using package list at "url2" - separate the URLs by using a space character.

Parameters:
src - the offline link specification (url and package list)

setGroup

public void setGroup(java.lang.String src)
Group specified packages together in overview page.

Parameters:
src - the group packages - a command separated list of group specs, each one being a group name and package specification separated by a space.

setLink

public void setLink(java.lang.String src)
Create links to Javadoc output at the given URL.

Parameters:
src - the URL to link to

setNodeprecated

public void setNodeprecated(boolean b)
Control deprecation infromation

Parameters:
b - If true, do not include deprecated information.

setNodeprecatedlist

public void setNodeprecatedlist(boolean b)
Control deprecated list generation

Parameters:
b - if true, do not generate deprecated list.

setNotree

public void setNotree(boolean b)
Control class tree generation.

Parameters:
b - if true, do not generate class hierarchy.

setNoindex

public void setNoindex(boolean b)
Control generation of index.

Parameters:
b - if true, do not generate index.

setNohelp

public void setNohelp(boolean b)
Control generation of help link.

Parameters:
b - if true, do not generate help link

setNonavbar

public void setNonavbar(boolean b)
Control generation of the navigation bar.

Parameters:
b - if true, do not generate navigation bar.

setSerialwarn

public void setSerialwarn(boolean b)
Control warnings about serial tag.

Parameters:
b - if true, generate warning about the serial tag.

setStylesheetfile

public void setStylesheetfile(java.io.File f)
Specifies the CSS stylesheet file to use.

Parameters:
f - the file with the CSS to use.

setHelpfile

public void setHelpfile(java.io.File f)
Specifies the HTML help file to use.

Parameters:
f - the file containing help content.

setDocencoding

public void setDocencoding(java.lang.String enc)
Output file encoding name.

Parameters:
enc - name of the encoding to use.

setPackageList

public void setPackageList(java.lang.String src)
The name of a file containing the packages to process.

Parameters:
src - the file containing the package list.

createLink

public Javadoc.LinkArgument createLink()
Create link to Javadoc output at the given URL.

Returns:
link argument to configure

createTag

public Javadoc.TagArgument createTag()
Creates and adds a -tag argument. This is used to specify custom tags. This argument is only available for Javadoc 1.4, and will generate a verbose message (and then be ignored) when run on Java versions below 1.4.

Returns:
tag argument to be configured

createGroup

public Javadoc.GroupArgument createGroup()
Separates packages on the overview page into whatever groups you specify, one group per table.

Returns:
a group argument to be configured

setCharset

public void setCharset(java.lang.String src)
Charset for cross-platform viewing of generated documentation.

Parameters:
src - the name of the charset

setFailonerror

public void setFailonerror(boolean b)
Should the build process fail if Javadoc fails (as indicated by a non zero return code)?

Default is false.

Parameters:
b - a boolean value

setSource

public void setSource(java.lang.String source)
Enables the -source switch, will be ignored if Javadoc is not the 1.4 version.

Parameters:
source - a String value
Since:
Ant 1.5

setExecutable

public void setExecutable(java.lang.String executable)
Sets the actual executable command to invoke, instead of the binary javadoc found in Ant's JDK.

Parameters:
executable - the command to invoke.
Since:
Ant 1.6.3

addPackageset

public void addPackageset(DirSet packageSet)
Adds a packageset.

All included directories will be translated into package names be converting the directory separator into dots.

Parameters:
packageSet - a directory set
Since:
1.5

addFileset

public void addFileset(FileSet fs)
Adds a fileset.

All included files will be added as sourcefiles. The task will automatically add includes="**/*.java" to the fileset.

Parameters:
fs - a file set
Since:
1.5

createSourceFiles

public Javadoc.ResourceCollectionContainer createSourceFiles()
Adds a container for resource collections.

All included files will be added as sourcefiles.

Returns:
the source files to configure.
Since:
1.7

setLinksource

public void setLinksource(boolean b)
Enables the -linksource switch, will be ignored if Javadoc is not the 1.4 version. Default is false

Parameters:
b - a String value
Since:
Ant 1.6

setBreakiterator

public void setBreakiterator(boolean b)
Enables the -linksource switch, will be ignored if Javadoc is not the 1.4 version. Default is false

Parameters:
b - a String value
Since:
Ant 1.6

setNoqualifier

public void setNoqualifier(java.lang.String noqualifier)
Enables the -noqualifier switch, will be ignored if Javadoc is not the 1.4 version.

Parameters:
noqualifier - the parameter to the -noqualifier switch
Since:
Ant 1.6

setIncludeNoSourcePackages

public void setIncludeNoSourcePackages(boolean b)
If set to true, Ant will also accept packages that only hold package.html files but no Java sources.

Parameters:
b - a boolean value.
Since:
Ant 1.6.3

execute

public void execute()
             throws BuildException
Execute the task.

Overrides:
execute in class Task
Throws:
BuildException - on error

expand

protected java.lang.String expand(java.lang.String content)
Convenience method to expand properties.

Parameters:
content - the string to expand
Returns:
the converted string