Re: [JEXL] Access to static methods?
I see, thanks, very useful. Presumably Jexl has to be given class objects for any static methods it needs to call? Or are there any objects which are built-in to Jexl? If not, it looks like one could perhaps extend FlatResolver to handle something like: systemClass=java.lang.System.class; and then use it as follows: systemClass.currentTimeMillis(); Or is this destined to fail? Or am I way off On 12/05/2008, Dion Gillard [EMAIL PROTECTED] wrote: Yes. See http://svn.apache.org/repos/asf/commons/proper/jexl/trunk/src/test/org/apache/commons/jexl/JexlTest.java Look for testStaticMethodInvocation and testStaticMethodInvocationOnClasses On Fri, May 9, 2008 at 1:26 AM, sebb [EMAIL PROTECTED] wrote: JEXL can access instance methods via the objects that are passed to the interpreter. Is it possible to access static methods in Jexl? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- dIon Gillard Any sufficiently advanced technology is indistinguishable from magic - Arthur C. Clarke 1917 - 2008 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [JEXL] Access to static methods?
On Mon, May 12, 2008 at 7:35 AM, sebb [EMAIL PROTECTED] wrote: I see, thanks, very useful. Presumably Jexl has to be given class objects for any static methods it needs to call? Or are there any objects which are built-in to Jexl? Doesn't matter, you can get access to any objects you need on the fly with something like: i = 0; intClazz = i.class; clazz = intClazz.forName(java.io.File); m = clazz.getMethod(listRoots, null); roots = m.invoke(null, null); files = roots[0].listFiles(); foreach( file in files ) { // do something with the file } Just replace the java.io.File string with the class you are interested in, and use the reflection api. -Trevor - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [JEXL] Access to static methods?
On 12/05/2008, Trevor Harrison [EMAIL PROTECTED] wrote: On Mon, May 12, 2008 at 7:35 AM, sebb [EMAIL PROTECTED] wrote: I see, thanks, very useful. Presumably Jexl has to be given class objects for any static methods it needs to call? Or are there any objects which are built-in to Jexl? Doesn't matter, you can get access to any objects you need on the fly with something like: i = 0; intClazz = i.class; clazz = intClazz.forName(java.io.File); m = clazz.getMethod(listRoots, null); roots = m.invoke(null, null); files = roots[0].listFiles(); foreach( file in files ) { // do something with the file } Just replace the java.io.File string with the class you are interested in, and use the reflection api. Thanks, that's clever ... -Trevor ;-) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]