<span style="font-family: verdana,sans-serif;">Thank you for this quick "cheet sheet".</span><br style="font-family: verdana,sans-serif;"><br style="font-family: verdana,sans-serif;"><span style="font-family: verdana,sans-serif;">I find it very sad that there are no reasonable <br>
documentation </span><span style="font-family: verdana,sans-serif;">(at least something like a jump start guide). </span><br style="font-family: verdana,sans-serif;"><span style="font-family: verdana,sans-serif;">Diving into source code maybe the last resort <br>
for experts which I don't belong anyway!</span><span style="font-family: verdana,sans-serif;"></span><br style="font-family: verdana,sans-serif;"><br style="font-family: verdana,sans-serif;"><span style="font-family: verdana,sans-serif;">Regards</span><br style="font-family: verdana,sans-serif;">
<span style="font-family: verdana,sans-serif;">Nik</span><br><br><br><br><div class="gmail_quote">On Mon, Oct 19, 2009 at 2:41 PM, Alessio Stalla <span dir="ltr"><<a href="mailto:alessiostalla@gmail.com">alessiostalla@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="im">On Mon, Oct 19, 2009 at 1:48 PM, nitralime <<a href="mailto:nitralime@googlemail.com">nitralime@googlemail.com</a>> wrote:<br>

> Hi folks,<br>
><br>
> I'm searching for a (more systematic) documentation (or tutorial)<br>
> about how to use Java libraries from ABCL.<br>
><br>
> I couldn't find anything else except the examples on<br>
> "<a href="http://trac.common-lisp.net/armedbear/browser/trunk/abcl/examples/abcl" target="_blank">http://trac.common-lisp.net/armedbear/browser/trunk/abcl/examples/abcl</a>".<br>
><br>
> Is there any such tutorial (or documentation) at all?<br>
<br>
</div>I'm not aware of any tutorial, however if you know the Java reflection<br>
API you'll find that abcl's operators maps quite well to it. A quick<br>
"cheat sheet":<br>
<br>
 (jclass <class name>) gives you a Java class<br>
 (jmethod <java class> <method names> <&rest argument types>) gives you a method<br>
 (jconstructor <java class> <&rest argument types>) a constructor<br>
<br>
(jnew <constructor> <&rest arguments>) instantiates a new Java object<br>
(jcall <method> <object> <&rest arguments>) calls a method<br>
<br>
then there's jstatic to access static fields and methods, and iirc<br>
jfield to access fields. Oh, and jproperty-value and (setf<br>
jproperty-value) to access "properties" following the Java Bean<br>
convention (setXXX and getXXX). That's almost all; there is some more<br>
advanced stuff (e.g. manipulating Java arrays).<br>
<br>
You can find most or all of this stuff inside Java.java<br>
(<a href="http://trac.common-lisp.net/armedbear/browser/trunk/abcl/src/org/armedbear/lisp/Java.java" target="_blank">http://trac.common-lisp.net/armedbear/browser/trunk/abcl/src/org/armedbear/lisp/Java.java</a>).<br>
It's not documented but quite readable.<br>
<br>
Also, there's an "invoke.lisp" somewhere on the net which simplifies<br>
the Java API (at the cost of some more runtime reflection). IIRC it<br>
depends on a non-abcl Java class. I also wrote my own ad-hoc<br>
NIH-syndrome-influenced Java simplification layer which is less<br>
powerful but does not depend on external stuff.<br>
<br>
hth,<br>
<font color="#888888">Alessio<br>
</font></blockquote></div><br>