## org.apache.tools.ant.taskdefs.optional
Class Javah

    java.lang.Object
      org.apache.tools.ant.ProjectComponent
          org.apache.tools.ant.Task
              org.apache.tools.ant.taskdefs.optional.Javah

public class Javah
extends Task

Generates JNI header files using javah. This task can take the following arguments:

- classname - the fully-qualified name of a class
- outputFile - Concatenates the resulting header or source files for all the classes listed into this file
- destdir - Sets the directory where javah saves the header files or the stub files
- classpath
- bootclasspath
- force - Specifies that output files should always be written (JDK1.2 only)
- old - Specifies that old JDK1.0-style header files should be generated (otherwise output file contain JNI-style native method function prototypes) (JDK1.2 only)
- stubs - generate C declarations from the Java object file (used with old)
- verbose - causes javah to print a message to stdout concerning the status of the generated files
- extdirs - Override location of installed extensions

Of these arguments, either outputFile or destdir is required, but not both. More than one classname may be specified, using a comma-separated list or by using `<class name="xxx">` elements within the task.

When this task executes, it will generate C header and source files that are needed to implement native methods.

Author:
  Rick Beton richard.beton@physics.org

Nested Class Summary
`class` `Javah.ClassArgument`

Field Summary

Fields inherited from class org.apache.tools.ant.Task
`description, location, target, taskName, taskType, wrapper`

Fields inherited from class org.apache.tools.ant.ProjectComponent
`project`

Constructor Summary
`Javah()`

Method Summary
`Path` `createBootclasspath()` Adds path to bootstrap class files.
`Javah.ClassArgument` `createClass()` Adds class to process.
`Path` `createClasspath()` Path to use for classpath.
`void` `execute()` Execute the task
`protected void` `logAndAddFilesToCompile(Commandline cmd)` Logs the compilation parameters, adds the files to compile and logs the &qout;niceSourceList"
`void` `setBootclasspath(Path src)` location of bootstrap class files.
`void` `setBootClasspathRef(Reference r)` Adds a reference to a classpath defined elsewhere.
`void` `setClass(java.lang.String cls)` the fully-qualified name of the class (or classes, separated by commas).
`void` `setClasspath(Path src)` the classpath to use.
`void` `setClasspathRef(Reference r)` Adds a reference to a classpath defined elsewhere.
`void` `setDestdir(java.io.File destDir)` Set the destination directory into which the Java source files should be compiled.
`void` `setForce(boolean force)` If true, output files should always be written (JDK1.2 only).
`void` `setOld(boolean old)` If true, specifies that old JDK1.0-style header files should be generated.
`void` `setOutputFile(java.io.File outputFile)` Concatenates the resulting header or source files for all the classes listed into this file.
`void` `setStubs(boolean stubs)` If true, generate C declarations from the Java object file (used with old).
`void` `setVerbose(boolean verbose)` If true, causes Javah to print a message concerning the status of the generated files.

Methods inherited from class org.apache.tools.ant.Task
`getDescription, getLocation, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, handleErrorFlush, handleErrorOutput, handleFlush, handleOutput, init, isInvalid, log, log, maybeConfigure, perform, setDescription, setLocation, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName`

Methods inherited from class org.apache.tools.ant.ProjectComponent
`getProject, setProject`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### Javah

    public Javah()

Method Detail

### setClass

    public void setClass(java.lang.String cls)

  the fully-qualified name of the class (or classes, separated by commas).

### createClass

    public Javah.ClassArgument createClass()

  Adds class to process.

### setDestdir

    public void setDestdir(java.io.File destDir)

  Set the destination directory into which the Java source files should be compiled.

### setClasspath

    public void setClasspath(Path src)

  the classpath to use.

### createClasspath

    public Path createClasspath()

  Path to use for classpath.

### setClasspathRef

    public void setClasspathRef(Reference r)

  Adds a reference to a classpath defined elsewhere.

  To do:
    this needs to be documented in the HTML docs

### setBootclasspath

    public void setBootclasspath(Path src)

  location of bootstrap class files.

### createBootclasspath

    public Path createBootclasspath()

  Adds path to bootstrap class files.

### setBootClasspathRef

    public void setBootClasspathRef(Reference r)

  Adds a reference to a classpath defined elsewhere.

  To do:
    this needs to be documented in the HTML

### setOutputFile

    public void setOutputFile(java.io.File outputFile)

  Concatenates the resulting header or source files for all the classes listed into this file.

### setForce

    public void setForce(boolean force)

  If true, output files should always be written (JDK1.2 only).

### setOld

    public void setOld(boolean old)

  If true, specifies that old JDK1.0-style header files should be generated. (otherwise output file contain JNI-style native method function prototypes) (JDK1.2 only)

### setStubs

    public void setStubs(boolean stubs)

  If true, generate C declarations from the Java object file (used with old).

### setVerbose

    public void setVerbose(boolean verbose)

  If true, causes Javah to print a message concerning the status of the generated files.

### execute

    public void execute()
                 throws BuildException

  Execute the task

  Overrides:
    `execute` in class `Task`
  Throws:
    `BuildException` - is there is a problem in the task execution.

### logAndAddFilesToCompile

    protected void logAndAddFilesToCompile(Commandline cmd)

  Logs the compilation parameters, adds the files to compile and logs the &qout;niceSourceList"

Copyright © 2000-2003 Apache Software Foundation. All Rights Reserved.