jahu
March 17, 2010, 12:20pm
1
Hi all,
occasionally I need to get hold of java class objects (e.g. int.class or
javax.swing.JLabel.class) from my jruby code. I java I would do
Class cls = javax.swing.JLabel.class;
What is the jruby equivalent? Currently I do
irb(main):002:0> Java::java.lang.Class.forName “javax.swing.JLabel”
=> class javax.swing.JLabel
which looks rather complicated. The obvious thing
irb(main):003:0> javax.swing.JLabel.class
=> Class
does not work as expected.
Any suggestions?
Many TIA,
– Jan
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email
jahu
March 17, 2010, 10:12pm
2
On Wed, Mar 17, 2010 at 5:20 AM, Jan H. [email protected]
wrote:
Any suggestions?
Generally the .java_class result should work anywhere you’d pass a
java.lang.Class, since we convert the two back and forth
automatically. If you really need the java.lang.Class object, however,
what you have above may be the best way in 1.4, and there’s a new way
in 1.5:
~/projects/jruby/tmp2/railsproblem âž” jruby -rjava -e “p
java.lang.String.to_java”
class java.lang.String
~/projects/jruby/tmp2/railsproblem âž” jruby -rjava -e “p
java.lang.String.to_java.class”
Java::JavaLang::Class
This is part of an effort to deemphasize Java::JavaClass instances and
to provide to_java consistently across all objects in the system.
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email
jahu
March 18, 2010, 11:17am
3
Am 17.03.2010 um 22:11 schrieb Charles Oliver N.:
does not work as expected.
class java.lang.String
~/projects/jruby/tmp2/railsproblem âž” jruby -rjava -e “p
java.lang.String.to_java.class”
Java::JavaLang::Class
This is part of an effort to deemphasize Java::JavaClass instances and
to provide to_java consistently across all objects in the system.
Thanks for your answer, but your suggestions produce different results
here:
$ jruby -rjava -e “p java.lang.String.to_java”
Java::JavaLang::String
$ jruby -rjava -e “p java.lang.String.to_java.class”
Class
$ jruby --version
jruby 1.5.0.dev (ruby 1.8.7 patchlevel 174) (2010-03-09 a659b27) (Java
HotSpot™ 64-Bit Server VM 1.6.0_17) [x86_64-java]
Why is that?
– Jan
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email
jahu
March 18, 2010, 11:34am
4
Am 18.03.2010 um 11:16 schrieb Jan H.:
which looks rather complicated. The obvious thing
Why is that?
Sorry guys, with a more recent 1.5 this seems to work fine:
$ jruby --version
jruby 1.5.0.dev (ruby 1.8.7 patchlevel 174) (2010-03-18 0cb3e3c) (Java
HotSpot™ 64-Bit Server VM 1.6.0_17) [x86_64-java]
$ jruby -rjava -e “p java.lang.String.to_java”
class java.lang.String
$ jruby -rjava -e “p java.lang.String.to_java.class”
Java::JavaLang::Class
Sorry for the confusion.
Cheers,
– Jan
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email
jahu
March 19, 2010, 10:09am
5
Am 18.03.2010 um 18:06 schrieb Charles Oliver N.:
Sorry for the confusion.
Yes, it’s probably less than a week old. We move quickly!
And the recent changes include a solution for my question about class
object access. Very good you guys have set clairvoyance=true (-:
Keep up the good work!
Cheers,
– Jan
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email
jahu
March 18, 2010, 6:07pm
6
On Thu, Mar 18, 2010 at 5:34 AM, Jan H. [email protected]
wrote:
Sorry guys, with a more recent 1.5 this seems to work fine:
$ jruby --version
jruby 1.5.0.dev (ruby 1.8.7 patchlevel 174) (2010-03-18 0cb3e3c) (Java HotSpot™ 64-Bit Server VM 1.6.0_17) [x86_64-java]
$ jruby -rjava -e “p java.lang.String.to_java”
class java.lang.String
$ jruby -rjava -e “p java.lang.String.to_java.class”
Java::JavaLang::Class
Sorry for the confusion.
Yes, it’s probably less than a week old. We move quickly!
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email