/tags/rel-2.0.2/Examples/test-suite/java/java_typemaps_proxy_runme.java
# · Java · 81 lines · 50 code · 18 blank · 13 comment · 1 complexity · 7730ff7da3d677089c6c076ca626ac17 MD5 · raw file
- // This is the java_typemaps_proxy runtime testcase. Contrived example checks that the pure Java code from the Java typemaps compiles.
- import java_typemaps_proxy.*;
- import java.lang.reflect.*;
- public class java_typemaps_proxy_runme {
- static {
- try {
- System.loadLibrary("java_typemaps_proxy");
- } 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 void main(String argv[]) {
- Greeting greet = new Greeting();
- Farewell bye = new Farewell();
- // Check that pure Java methods have been added
- greet.sayhello();
- bye.saybye(new java.math.BigDecimal(java.math.BigInteger.ONE));
- // No finalize method so may as well delete manually
- bye.delete();
- // Check that Greeting is derived from Exception
- try {
- throw new Greeting();
- } catch (Greeting g) {
- String msg = g.getMessage();
- }
- // Check that Greeting has implemented the EventListener interface
- Greeting.cheerio(greet);
- // The default getCPtr() call in each method will through an exception if null is passed.
- // Make sure the modified version works with and without null objects.
- Greeting.ciao(null);
- Greeting.ciao(greet);
- // Create a NULL pointer for Farewell using the constructor with changed modifiers
- Farewell nullFarewell = new Farewell(0, false);
- // Test typemaps are being found for templated classes
- AdieuIntPtrPtr.adieu();
- // Check the %javamethodmodifiers feature
- try {
- Method methodmodifiertest = nullFarewell.getClass().getDeclaredMethod("methodmodifiertest", (java.lang.Class[])null);
- if ( !Modifier.isPrivate(methodmodifiertest.getModifiers()) )
- throw new RuntimeException("NS::Farewell::methodmodifiertest not private" );
- } catch (NoSuchMethodException n) {
- throw new RuntimeException("NoSuchmethodException caught. Test failed.");
- } catch (SecurityException s) {
- throw new RuntimeException("SecurityException caught. Test failed.");
- }
- // Check the premature garbage collection prevention parameter
- // Check it is normally present
- long nullPtr = 0;
- With with = new With(null);
- java_typemaps_proxyJNI.new_With(nullPtr, with);
- java_typemaps_proxyJNI.With_static_method(nullPtr, with);
- java_typemaps_proxyJNI.With_member_method(nullPtr, with, nullPtr, with);
- java_typemaps_proxyJNI.delete_With(nullPtr);
- java_typemaps_proxyJNI.global_method_with(nullPtr, with);
- // Check that it can be turned off
- java_typemaps_proxyJNI.new_Without(nullPtr);
- java_typemaps_proxyJNI.Without_static_method(nullPtr);
- java_typemaps_proxyJNI.Without_member_method(nullPtr, nullPtr);
- java_typemaps_proxyJNI.delete_Without(nullPtr);
- java_typemaps_proxyJNI.global_method_without(nullPtr);
- }
- }