<br><br><div class="gmail_quote">On Mon, Oct 19, 2009 at 3:54 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 3:34 PM, nitralime <<a href="mailto:nitralime@googlemail.com">nitralime@googlemail.com</a>> wrote:<br>
> Thank you for this quick "cheet sheet".<br>
><br>
> I find it very sad that there are no reasonable<br>
> documentation (at least something like a jump start guide).<br>
> Diving into source code maybe the last resort<br>
> for experts which I don't belong anyway!<br>
<br>
</div>If it's true that there's no existing official documentation for the<br>
Java ffi (I'm not sure), I can write it one of these days, it<br>
shouldn't take long. It will be useful to me too (I always forget the<br>
syntax of jstatic, for example).</blockquote><div><br>It is a great idea!!<br>I believe that many of us (newbies) would be grateful to you!<br><br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
 In general abcl's documentation is<br>
indeed quite lacking; </blockquote><div><br>That is true regarding the documentation of its interaction with the jvm runtime environment<br>which is my primary focus of interest in ABCL. <br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
the implementation is young, the work force is<br>
scarce, and writing documentation is boring ;)<br></blockquote><div><br>We all know it and therefore honor voluntary efforts of developers!<br><br>Regards<br>Nik<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

Cheers,<br>
Alessio<br>
<div><div></div><div class="h5"><br>
> Regards<br>
> Nik<br>
><br>
><br>
><br>
> On Mon, Oct 19, 2009 at 2:41 PM, Alessio Stalla <<a href="mailto:alessiostalla@gmail.com">alessiostalla@gmail.com</a>><br>
> wrote:<br>
>><br>
>> On Mon, Oct 19, 2009 at 1:48 PM, nitralime <<a href="mailto:nitralime@googlemail.com">nitralime@googlemail.com</a>><br>
>> 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>
>> ><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>
>> 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<br>
>> 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>
>><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>
>> Alessio<br>
><br>
><br>
</div></div>> _______________________________________________<br>
> armedbear-devel mailing list<br>
> <a href="mailto:armedbear-devel@common-lisp.net">armedbear-devel@common-lisp.net</a><br>
> <a href="http://common-lisp.net/cgi-bin/mailman/listinfo/armedbear-devel" target="_blank">http://common-lisp.net/cgi-bin/mailman/listinfo/armedbear-devel</a><br>
><br>
><br>
</blockquote></div><br>