| |
| // 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; |
| } |
| %} |
| |