import cpp11_assign_delete.*; public class cpp11_assign_delete_runme { static { try { System.loadLibrary("cpp11_assign_delete"); } 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[]) { MemberVars mv = new MemberVars(); MemberArrayVars mav = new MemberArrayVars(); // (1) Test directly non-assignable member variables // These will only have getters AssignPublic a1 = mv.getMemberPublic(); AssignProtected a2 = mv.getMemberProtected(); AssignPrivate a3 = mv.getMemberPrivate(); AssignPublic ma1 = mav.getArrayMemberPublic(); AssignProtected ma2 = mav.getArrayMemberProtected(); AssignPrivate ma3 = mav.getArrayMemberPrivate(); // (2) Test indirectly non-assignable member variables via inheritance InheritedMemberVars imv = new InheritedMemberVars(); // These will only have getters AssignPublicDerived a4 = imv.getMemberPublicDerived(); AssignProtectedDerived a5 = imv.getMemberProtectedDerived(); AssignPrivateDerived a6 = imv.getMemberPrivateDerived(); AssignPublicDerived sa4 = InheritedMemberVars.getStaticMemberPublicDerived(); AssignProtectedDerived sa5 = InheritedMemberVars.getStaticMemberProtectedDerived(); AssignPrivateDerived sa6 = InheritedMemberVars.getStaticMemberPrivateDerived(); AssignPublicDerived ga4 = cpp11_assign_delete.getGlobalPublicDerived(); AssignProtectedDerived ga5 = cpp11_assign_delete.getGlobalProtectedDerived(); AssignPrivateDerived ga6 = cpp11_assign_delete.getGlobalPrivateDerived(); // These will have getters and setters AssignPublicDerivedSettable a7 = imv.getMemberPublicDerivedSettable(); imv.setMemberPublicDerivedSettable(a7); AssignProtectedDerivedSettable a8 = imv.getMemberProtectedDerivedSettable(); imv.setMemberProtectedDerivedSettable(a8); AssignPrivateDerivedSettable a9 = imv.getMemberPrivateDerivedSettable(); imv.setMemberPrivateDerivedSettable(a9); AssignPublicDerivedSettable sa7 = InheritedMemberVars.getStaticMemberPublicDerivedSettable(); InheritedMemberVars.setStaticMemberPublicDerivedSettable(sa7); AssignProtectedDerivedSettable sa8 = InheritedMemberVars.getStaticMemberProtectedDerivedSettable(); InheritedMemberVars.setStaticMemberProtectedDerivedSettable(sa8); AssignPrivateDerivedSettable sa9 = InheritedMemberVars.getStaticMemberPrivateDerivedSettable(); InheritedMemberVars.setStaticMemberPrivateDerivedSettable(sa9); AssignPublicDerivedSettable ga7 = cpp11_assign_delete.getGlobalPublicDerivedSettable(); cpp11_assign_delete.setGlobalPublicDerivedSettable(ga7); AssignProtectedDerivedSettable ga8 = cpp11_assign_delete.getGlobalProtectedDerivedSettable(); cpp11_assign_delete.setGlobalProtectedDerivedSettable(ga8); AssignPrivateDerivedSettable ga9 = cpp11_assign_delete.getGlobalPrivateDerivedSettable(); cpp11_assign_delete.setGlobalPrivateDerivedSettable(ga9); // (3) Test indirectly non-assignable member variables via classes that themselves have non-assignable member variables { MembersMemberVars m = new MembersMemberVars(); // These will only have getters MemberPublicVar mpv1 = m.getMemberPublic(); MemberProtectedVar mpv2 = m.getMemberProtected(); MemberPrivateVar mpv3 = m.getMemberPrivate(); MemberPublicVar smpv1 = StaticMembersMemberVars.getStaticMemberPublic(); MemberProtectedVar smpv2 = StaticMembersMemberVars.getStaticMemberProtected(); MemberPrivateVar smpv3 = StaticMembersMemberVars.getStaticMemberPrivate(); MemberPublicVar gmpv1 = cpp11_assign_delete.getGlobalMemberPublic(); MemberProtectedVar gmpv2 = cpp11_assign_delete.getGlobalMemberProtected(); MemberPrivateVar gmpv3 = cpp11_assign_delete.getGlobalMemberPrivate(); // Setters and getters available StaticMembersMemberVarsHolder smmvh = new StaticMembersMemberVarsHolder(); StaticMembersMemberVars member = smmvh.getMember(); smmvh.setMember(member); StaticMembersMemberVars smmv = cpp11_assign_delete.getGlobalStaticMembersMemberVars(); cpp11_assign_delete.setGlobalStaticMembersMemberVars(smmv); } // (4) Test indirectly non-assignable member variables via classes that themselves have non-assignable array member variables { MembersMemberArrayVars m = new MembersMemberArrayVars(); // These will only have getters MemberPublicArrayVar mpv1 = m.getMemberPublic(); MemberProtectedArrayVar mpv2 = m.getMemberProtected(); MemberPrivateArrayVar mpv3 = m.getMemberPrivate(); MemberPublicArrayVar smpv1 = StaticMembersMemberArrayVars.getStaticMemberPublic(); MemberProtectedArrayVar smpv2 = StaticMembersMemberArrayVars.getStaticMemberProtected(); MemberPrivateArrayVar smpv3 = StaticMembersMemberArrayVars.getStaticMemberPrivate(); MemberPublicArrayVar gmpv1 = cpp11_assign_delete.getGlobalArrayMemberPublic(); MemberProtectedArrayVar gmpv2 = cpp11_assign_delete.getGlobalArrayMemberProtected(); MemberPrivateArrayVar gmpv3 = cpp11_assign_delete.getGlobalArrayMemberPrivate(); // Setters and getters available StaticMembersMemberArrayVarsHolder smmvh = new StaticMembersMemberArrayVarsHolder(); StaticMembersMemberArrayVars member = smmvh.getMember(); smmvh.setMember(member); StaticMembersMemberArrayVars smmv = cpp11_assign_delete.getGlobalStaticMembersMemberArrayVars(); cpp11_assign_delete.setGlobalStaticMembersMemberArrayVars(smmv); } // (5) Test indirectly non-assignable member variables via classes that themselves have non-assignable reference member variables { MembersMemberRefVars m = new MembersMemberRefVars(); // These will only have getters MemberPublicRefVar mpv1 = m.getMemberPublic(); MemberProtectedRefVar mpv2 = m.getMemberProtected(); MemberPrivateRefVar mpv3 = m.getMemberPrivate(); MemberPublicRefVar smpv1 = StaticMembersMemberRefVars.getStaticMemberPublic(); MemberProtectedRefVar smpv2 = StaticMembersMemberRefVars.getStaticMemberProtected(); MemberPrivateRefVar smpv3 = StaticMembersMemberRefVars.getStaticMemberPrivate(); MemberPublicRefVar gmpv1 = cpp11_assign_delete.getGlobalRefMemberPublic(); MemberProtectedRefVar gmpv2 = cpp11_assign_delete.getGlobalRefMemberProtected(); MemberPrivateRefVar gmpv3 = cpp11_assign_delete.getGlobalRefMemberPrivate(); // Setters and getters available StaticMembersMemberRefVarsHolder smmvh = new StaticMembersMemberRefVarsHolder(); StaticMembersMemberRefVars member = smmvh.getMember(); smmvh.setMember(member); StaticMembersMemberRefVars smmv = cpp11_assign_delete.getGlobalStaticMembersMemberRefVars(); cpp11_assign_delete.setGlobalStaticMembersMemberRefVars(smmv); } } }