Google

Javah (Apache Ant API)

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()
          Executes 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, handleErrorOutput, 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
Executes the task.

Overrides:
execute in class Task
Throws:
BuildException - if something goes wrong with the build

logAndAddFilesToCompile


protected void logAndAddFilesToCompile(Commandline cmd)
Logs the compilation parameters, adds the files to compile and logs the &qout;niceSourceList"



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