| // Test case uses all the Java pragmas which are for tailoring the generated JNI class and Java module class. | |
| %module java_pragmas | |
| %pragma(java) jniclassimports=%{ | |
| import java.lang.*; // For Exception | |
| %} | |
| %pragma(java) jniclassclassmodifiers="public class" | |
| %pragma(java) jniclassbase="Exception" | |
| %pragma(java) jniclassinterfaces="Cloneable" | |
| %pragma(java) jniclasscode=%{ | |
| // jniclasscode pragma code: Static block so that the JNI class loads the C++ DLL/shared object when the class is loaded | |
| static { | |
| try { | |
| System.loadLibrary("java_pragmas"); | |
| } catch (UnsatisfiedLinkError e) { | |
| System.err.println("Native code library failed to load. See the chapter on Dynamic Linking Problems in the SWIG Java documentation for help.\n" + e); | |
| System.exit(1); | |
| } | |
| } | |
| public static final long serialVersionUID = 0x52151000; // Suppress ecj warning | |
| %} | |
| %pragma(java) moduleimports=%{ | |
| import java.io.*; // For Serializable | |
| %} | |
| %pragma(java) moduleclassmodifiers="public final class" | |
| %pragma(java) modulebase="Object" | |
| %pragma(java) moduleinterfaces="Serializable" | |
| %pragma(java) modulecode=%{ | |
| public static final long serialVersionUID = 0x52151001; // Suppress ecj warning | |
| public static void added_function(String s) { | |
| // Added function | |
| } | |
| %} | |
| %inline %{ | |
| int *get_int_pointer() { | |
| static int number = 10; | |
| return &number; | |
| } | |
| %} | |