From: Michael G. <gof...@us...> - 2007-03-02 15:50:08
|
Update of /cvsroot/octave/octave-forge/extra/java/src/org/octave In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv28237/org/octave Modified Files: ClassHelper.java Added Files: OctListener.java Octave.java Log Message: provides java->octave calling mechanism + embryon of event handling in octave --- NEW FILE: OctListener.java --- package org.octave; import java.awt.event.*; public class OctListener implements ActionListener { static { System.load (System.getProperty ("octave.java.path") + java.io.File.separator + "__java__.oct"); } private static int _counter = 0; private int ID; public OctListener () { ID = _counter++; } private native static void doInvokeListener (int ID, String name, Object event); private native static void doRemoveListener (int ID); public int getID () { return this.ID; } public void actionPerformed (ActionEvent e) { doInvokeListener (this.ID, "actionPerformed", e); } } --- NEW FILE: Octave.java --- package org.octave; public class Octave { static { System.load (System.getProperty ("octave.java.path") + java.io.File.separator + "__java__.oct"); } public native static boolean call (String name, Object[] argin, Object[] argout); public static Object do_test (String name, Object arg0) throws Exception { Object[] argin = new Object[] { arg0 }; Object[] argout = new Object[1]; if (call (name, argin, argout)) return argout[0]; throw new Exception ("octave call failed"); } } Index: ClassHelper.java =================================================================== RCS file: /cvsroot/octave/octave-forge/extra/java/src/org/octave/ClassHelper.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- ClassHelper.java 24 Feb 2007 21:59:16 -0000 1.1 +++ ClassHelper.java 2 Mar 2007 15:50:00 -0000 1.2 @@ -123,7 +123,7 @@ } } - public static Object invokeMethod (Object target, String name, Object[] args, Class[] argTypes) throws Exception + public static Object invokeMethod (Object target, String name, Object[] args, Class[] argTypes) throws Throwable { Method m = findMethod (target.getClass (), name, argTypes); if (m != null) @@ -135,14 +135,14 @@ } catch (InvocationTargetException ex) { - throw (Exception)ex.getCause (); + throw ex.getCause (); } } else throw new NoSuchMethodException (name); } - public static Object invokeStaticMethod (String cls, String name, Object[] args, Class[] argTypes) throws Exception + public static Object invokeStaticMethod (String cls, String name, Object[] args, Class[] argTypes) throws Throwable { Method m = findMethod (Class.forName (cls, true, loader), name, argTypes); if (m != null) @@ -154,7 +154,7 @@ } catch (InvocationTargetException ex) { - throw (Exception)ex.getCause (); + throw ex.getCause (); } } else @@ -173,7 +173,7 @@ throw new NoSuchMethodException (cls); } - public static Object getField (Object target, String name) throws Exception + public static Object getField (Object target, String name) throws Throwable { try { @@ -190,7 +190,7 @@ } } - public static Object getStaticField (String cls, String name) throws Exception + public static Object getStaticField (String cls, String name) throws Throwable { try { |