cvs: php4 /ext/java reflect.java

From: Date: Fri, 27 Oct 2000 10:27:19 +0000
Subject: cvs: php4 /ext/java reflect.java
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-2293@lists.php.net to get a copy of this message
rubys Fri Oct 27 03:27:19 2000 EDT Modified files: /php4/ext/java reflect.java Log: Allow strings to be passed to methods expecting primitive types. Index: php4/ext/java/reflect.java diff -u php4/ext/java/reflect.java:1.18 php4/ext/java/reflect.java:1.19 --- php4/ext/java/reflect.java:1.18 Sun Jul 23 22:40:59 2000 +++ php4/ext/java/reflect.java Fri Oct 27 03:27:18 2000 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: reflect.java,v 1.18 2000/07/24 05:40:59 david Exp $ */ +/* $Id: reflect.java,v 1.19 2000/10/27 10:27:18 rubys Exp $ */ package net.php; @@ -208,7 +208,7 @@ if (c== Character.TYPE || ((String)args[i]).length()>0) weight+=((String)args[i]).length(); else - weight+=9999; + weight+=64; } else { weight+=9999; } @@ -237,7 +237,21 @@ Object result[] = args; for (int i=0; i<args.length; i++) { if (args[i] instanceof byte[] && !parms[i].isArray()) { - result[i] = new String((byte[])args[i]); + Class c = parms[i]; + String s = new String((byte[])args[i]); + result[i] = s; + try { + if (c == Boolean.TYPE) result[i]=new Boolean(s); + if (c == Byte.TYPE) result[i]=new Byte(s); + if (c == Short.TYPE) result[i]=new Short(s); + if (c == Integer.TYPE) result[i]=new Integer(s); + if (c == Float.TYPE) result[i]=new Float(s); + if (c == Long.TYPE) result[i]=new Long(s); + if (c == Character.TYPE && s.length()>0) + result[i]=new Character(s.charAt(0)); + } catch (NumberFormatException n) { + // oh well, we tried! + } } else if (args[i] instanceof Number && parms[i].isPrimitive()) { if (result==args) result=(Object[])result.clone(); Class c = parms[i];

« previous php.cvs (#2293) next »