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:

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.


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
 ImplementationSpecificArgument createArg()
          Adds an implementation specific command-line argument.
 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
 Path getBootclasspath()
          The bootclasspath to use.
 java.lang.String[] getClasses()
          Names of the classes to process.
 Path getClasspath()
          The classpath to use.
 java.lang.String[] getCurrentArgs()
          Returns the (implementation specific) settings given as nested arg elements.
 java.io.File getDestdir()
          The destination directory, if any.
 boolean getForce()
          Whether output files should always be written.
 boolean getOld()
          Whether old JDK1.0-style header files should be generated.
 java.io.File getOutputfile()
          The destination file, if any.
 boolean getStubs()
          Whether C declarations from the Java object file should be generated.
 boolean getVerbose()
          Whether verbose output should get generated.
 void logAndAddFiles(Commandline cmd)
          Logs the compilation parameters, adds the files to compile and logs the "niceSourceList"
protected  void logAndAddFilesToCompile(Commandline cmd)
          Logs the compilation parameters, adds the files to compile and logs the "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 setImplementation(java.lang.String impl)
          Choose the implementation for this particular task.
 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, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, maybeConfigure, perform, reconfigure, setDescription, setLocation, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
 
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.


getClasses

public java.lang.String[] getClasses()
Names of the classes to process.

Since:
Ant 1.6.3

setDestdir

public void setDestdir(java.io.File destDir)
Set the destination directory into which the Java source files should be compiled.


getDestdir

public java.io.File getDestdir()
The destination directory, if any.

Since:
Ant 1.6.3

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

getClasspath

public Path getClasspath()
The classpath to use.

Since:
Ant 1.6.3

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

getBootclasspath

public Path getBootclasspath()
The bootclasspath to use.

Since:
Ant 1.6.3

setOutputFile

public void setOutputFile(java.io.File outputFile)
Concatenates the resulting header or source files for all the classes listed into this file.


getOutputfile

public java.io.File getOutputfile()
The destination file, if any.

Since:
Ant 1.6.3

setForce

public void setForce(boolean force)
If true, output files should always be written (JDK1.2 only).


getForce

public boolean getForce()
Whether output files should always be written.

Since:
Ant 1.6.3

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)


getOld

public boolean getOld()
Whether old JDK1.0-style header files should be generated.

Since:
Ant 1.6.3

setStubs

public void setStubs(boolean stubs)
If true, generate C declarations from the Java object file (used with old).


getStubs

public boolean getStubs()
Whether C declarations from the Java object file should be generated.

Since:
Ant 1.6.3

setVerbose

public void setVerbose(boolean verbose)
If true, causes Javah to print a message concerning the status of the generated files.


getVerbose

public boolean getVerbose()
Whether verbose output should get generated.

Since:
Ant 1.6.3

setImplementation

public void setImplementation(java.lang.String impl)
Choose the implementation for this particular task.

Parameters:
impl - the name of the implemenation
Since:
Ant 1.6.3

createArg

public ImplementationSpecificArgument createArg()
Adds an implementation specific command-line argument.

Returns:
a ImplementationSpecificArgument to be configured
Since:
Ant 1.6.3

getCurrentArgs

public java.lang.String[] getCurrentArgs()
Returns the (implementation specific) settings given as nested arg elements.

Since:
Ant 1.6.3

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.

logAndAddFiles

public void logAndAddFiles(Commandline cmd)
Logs the compilation parameters, adds the files to compile and logs the "niceSourceList"


logAndAddFilesToCompile

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



Copyright 2000-2005 Apache Software Foundation. All Rights Reserved.