| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
javastub to Generate Ada Package Specifications
The javastub utility program generates an Ada package specification
from a Java class file that has native methods.
It is invoked as follows
$ javastub [filename.class] {filename.class}
|
where each `filename.class' is a class file for a Java class that has native methods.
For each class file argument, javastub generates an
Ada package specification with subprograms corresponding to the native
methods. The name of the generated file is `filename_jni.ads'.
The javastub utility is the Ada analog to the
javah -jni command in the Java Development Kit, which takes
a class file as input and produces a C header file with the
correct function prototypes.
You can use javastub if you intend to use Ada, rather than C,
to implement the native methods in a Java class. You will then be
responsible for doing the necessary JNI programming, using the Ada binding
to the C JNI library.
As an example, here is a simple Java class with a native method:
// Foo.java
class Foo{
native void bar(int i);
}
|
Compile the Java source file and then invoke javastub
on the class file:
$ javac Foo.java $ javastub Foo.class |
The following file `foo_jni.ads' is generated by javastub:
-- Stub for class Foo with Interfaces.Java.JNI; use Interfaces.Java.JNI; package Foo_JNI is -- Class: Foo -- Method: bar -- Signature: (I)V procedure bar (Env : JNI_Env_Access; Obj : J_Object; P1 : J_Int); pragma Export (C, bar, "Java_Foo_bar__I"); end Foo_JNI; |
| [ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |