source: trunk/abcl/doc/manual/java.tex @ 14892

Last change on this file since 14892 was 14892, checked in by mevenson, 10 months ago

metadata: publish all artifacts for 1.4.0 simultaneously

Update the README <file:README>, CHANGES <file:CHANGES> and the User
manual <file:doc/manual/> for 1.4.0.

<http://abcl.org/trac/changeset/14891>

File size: 25.0 KB
Line 
1\paragraph{}
2\label{JAVA:*JAVA-OBJECT-TO-STRING-LENGTH*}
3\index{*JAVA-OBJECT-TO-STRING-LENGTH*}
4--- Variable: \textbf{*java-object-to-string-length*} [\textbf{java}] \textit{}
5
6\begin{adjustwidth}{5em}{5em}
7Length to truncate toString() PRINT-OBJECT output for an otherwise unspecialized JAVA-OBJECT.  Can be set to NIL to indicate no limit.
8\end{adjustwidth}
9
10\paragraph{}
11\label{JAVA:+FALSE+}
12\index{+FALSE+}
13--- Variable: \textbf{+false+} [\textbf{java}] \textit{}
14
15\begin{adjustwidth}{5em}{5em}
16The JVM primitive value for boolean false.
17\end{adjustwidth}
18
19\paragraph{}
20\label{JAVA:+NULL+}
21\index{+NULL+}
22--- Variable: \textbf{+null+} [\textbf{java}] \textit{}
23
24\begin{adjustwidth}{5em}{5em}
25The JVM null object reference.
26\end{adjustwidth}
27
28\paragraph{}
29\label{JAVA:+TRUE+}
30\index{+TRUE+}
31--- Variable: \textbf{+true+} [\textbf{java}] \textit{}
32
33\begin{adjustwidth}{5em}{5em}
34The JVM primitive value for boolean true.
35\end{adjustwidth}
36
37\paragraph{}
38\label{JAVA:ADD-TO-CLASSPATH}
39\index{ADD-TO-CLASSPATH}
40--- Generic Function: \textbf{add-to-classpath} [\textbf{java}] \textit{}
41
42\begin{adjustwidth}{5em}{5em}
43Add JAR-OR-JARS to the JVM classpath optionally specifying the CLASSLOADER to add.
44
45JAR-OR-JARS is either a pathname designating a jar archive or the root
46directory to search for classes or a list of such values.
47\end{adjustwidth}
48
49\paragraph{}
50\label{JAVA:CHAIN}
51\index{CHAIN}
52--- Macro: \textbf{chain} [\textbf{java}] \textit{}
53
54\begin{adjustwidth}{5em}{5em}
55not-documented
56\end{adjustwidth}
57
58\paragraph{}
59\label{JAVA:DEFINE-JAVA-CLASS}
60\index{DEFINE-JAVA-CLASS}
61--- Macro: \textbf{define-java-class} [\textbf{java}] \textit{}
62
63\begin{adjustwidth}{5em}{5em}
64not-documented
65\end{adjustwidth}
66
67\paragraph{}
68\label{JAVA:DESCRIBE-JAVA-OBJECT}
69\index{DESCRIBE-JAVA-OBJECT}
70--- Function: \textbf{describe-java-object} [\textbf{java}] \textit{}
71
72\begin{adjustwidth}{5em}{5em}
73not-documented
74\end{adjustwidth}
75
76\paragraph{}
77\label{JAVA:DUMP-CLASSPATH}
78\index{DUMP-CLASSPATH}
79--- Function: \textbf{dump-classpath} [\textbf{java}] \textit{\&optional classloader}
80
81\begin{adjustwidth}{5em}{5em}
82not-documented
83\end{adjustwidth}
84
85\paragraph{}
86\label{JAVA:ENSURE-JAVA-CLASS}
87\index{ENSURE-JAVA-CLASS}
88--- Function: \textbf{ensure-java-class} [\textbf{java}] \textit{jclass}
89
90\begin{adjustwidth}{5em}{5em}
91Attempt to ensure that the Java class referenced by JCLASS exists in the current process of the implementation.
92\end{adjustwidth}
93
94\paragraph{}
95\label{JAVA:ENSURE-JAVA-OBJECT}
96\index{ENSURE-JAVA-OBJECT}
97--- Function: \textbf{ensure-java-object} [\textbf{java}] \textit{obj}
98
99\begin{adjustwidth}{5em}{5em}
100Ensures OBJ is wrapped in a JAVA-OBJECT, wrapping it if necessary.
101\end{adjustwidth}
102
103\paragraph{}
104\label{JAVA:GET-CURRENT-CLASSLOADER}
105\index{GET-CURRENT-CLASSLOADER}
106--- Function: \textbf{get-current-classloader} [\textbf{java}] \textit{}
107
108\begin{adjustwidth}{5em}{5em}
109not-documented
110\end{adjustwidth}
111
112\paragraph{}
113\label{JAVA:GET-DEFAULT-CLASSLOADER}
114\index{GET-DEFAULT-CLASSLOADER}
115--- Function: \textbf{get-default-classloader} [\textbf{java}] \textit{}
116
117\begin{adjustwidth}{5em}{5em}
118not-documented
119\end{adjustwidth}
120
121\paragraph{}
122\label{JAVA:JARRAY-COMPONENT-TYPE}
123\index{JARRAY-COMPONENT-TYPE}
124--- Function: \textbf{jarray-component-type} [\textbf{java}] \textit{atype}
125
126\begin{adjustwidth}{5em}{5em}
127Returns the component type of the array type ATYPE
128\end{adjustwidth}
129
130\paragraph{}
131\label{JAVA:JARRAY-FROM-LIST}
132\index{JARRAY-FROM-LIST}
133--- Function: \textbf{jarray-from-list} [\textbf{java}] \textit{list}
134
135\begin{adjustwidth}{5em}{5em}
136Return a Java array from LIST whose type is inferred from the first element.
137
138For more control over the type of the array, use JNEW-ARRAY-FROM-LIST.
139\end{adjustwidth}
140
141\paragraph{}
142\label{JAVA:JARRAY-LENGTH}
143\index{JARRAY-LENGTH}
144--- Function: \textbf{jarray-length} [\textbf{java}] \textit{java-array}
145
146\begin{adjustwidth}{5em}{5em}
147Returns the length of a Java primitive array.
148\end{adjustwidth}
149
150\paragraph{}
151\label{JAVA:JARRAY-REF}
152\index{JARRAY-REF}
153--- Function: \textbf{jarray-ref} [\textbf{java}] \textit{java-array \&rest indices}
154
155\begin{adjustwidth}{5em}{5em}
156Dereferences the Java array JAVA-ARRAY using the given INDICIES, coercing the result into a Lisp object, if possible.
157\end{adjustwidth}
158
159\paragraph{}
160\label{JAVA:JARRAY-REF-RAW}
161\index{JARRAY-REF-RAW}
162--- Function: \textbf{jarray-ref-raw} [\textbf{java}] \textit{java-array \&rest indices}
163
164\begin{adjustwidth}{5em}{5em}
165Dereference the Java array JAVA-ARRAY using the given INDICIES. Does not attempt to coerce the result into a Lisp object.
166\end{adjustwidth}
167
168\paragraph{}
169\label{JAVA:JARRAY-SET}
170\index{JARRAY-SET}
171--- Function: \textbf{jarray-set} [\textbf{java}] \textit{java-array new-value \&rest indices}
172
173\begin{adjustwidth}{5em}{5em}
174Stores NEW-VALUE at the given index in JAVA-ARRAY.
175\end{adjustwidth}
176
177\paragraph{}
178\label{JAVA:JAVA-CLASS}
179\index{JAVA-CLASS}
180--- Class: \textbf{java-class} [\textbf{java}] \textit{}
181
182\begin{adjustwidth}{5em}{5em}
183not-documented
184\end{adjustwidth}
185
186\paragraph{}
187\label{JAVA:JAVA-EXCEPTION}
188\index{JAVA-EXCEPTION}
189--- Class: \textbf{java-exception} [\textbf{java}] \textit{}
190
191\begin{adjustwidth}{5em}{5em}
192not-documented
193\end{adjustwidth}
194
195\paragraph{}
196\label{JAVA:JAVA-EXCEPTION-CAUSE}
197\index{JAVA-EXCEPTION-CAUSE}
198--- Function: \textbf{java-exception-cause} [\textbf{java}] \textit{java-exception}
199
200\begin{adjustwidth}{5em}{5em}
201not-documented
202\end{adjustwidth}
203
204\paragraph{}
205\label{JAVA:JAVA-OBJECT}
206\index{JAVA-OBJECT}
207--- Class: \textbf{java-object} [\textbf{java}] \textit{}
208
209\begin{adjustwidth}{5em}{5em}
210not-documented
211\end{adjustwidth}
212
213\paragraph{}
214\label{JAVA:JAVA-OBJECT-P}
215\index{JAVA-OBJECT-P}
216--- Function: \textbf{java-object-p} [\textbf{java}] \textit{object}
217
218\begin{adjustwidth}{5em}{5em}
219Returns T if OBJECT is a JAVA-OBJECT.
220\end{adjustwidth}
221
222\paragraph{}
223\label{JAVA:JCALL}
224\index{JCALL}
225--- Function: \textbf{jcall} [\textbf{java}] \textit{method-ref instance \&rest args}
226
227\begin{adjustwidth}{5em}{5em}
228Invokes the Java method METHOD-REF on INSTANCE with arguments ARGS, coercing the result into a Lisp object, if possible.
229\end{adjustwidth}
230
231\paragraph{}
232\label{JAVA:JCALL-RAW}
233\index{JCALL-RAW}
234--- Function: \textbf{jcall-raw} [\textbf{java}] \textit{method-ref instance \&rest args}
235
236\begin{adjustwidth}{5em}{5em}
237Invokes the Java method METHOD-REF on INSTANCE with arguments ARGS. Does not attempt to coerce the result into a Lisp object.
238\end{adjustwidth}
239
240\paragraph{}
241\label{JAVA:JCLASS}
242\index{JCLASS}
243--- Function: \textbf{jclass} [\textbf{java}] \textit{name-or-class-ref \&optional class-loader}
244
245\begin{adjustwidth}{5em}{5em}
246Returns a reference to the Java class designated by NAME-OR-CLASS-REF. If the CLASS-LOADER parameter is passed, the class is resolved with respect to the given ClassLoader.
247\end{adjustwidth}
248
249\paragraph{}
250\label{JAVA:JCLASS-ARRAY-P}
251\index{JCLASS-ARRAY-P}
252--- Function: \textbf{jclass-array-p} [\textbf{java}] \textit{class}
253
254\begin{adjustwidth}{5em}{5em}
255Returns T if CLASS is an array class
256\end{adjustwidth}
257
258\paragraph{}
259\label{JAVA:JCLASS-CONSTRUCTORS}
260\index{JCLASS-CONSTRUCTORS}
261--- Function: \textbf{jclass-constructors} [\textbf{java}] \textit{class}
262
263\begin{adjustwidth}{5em}{5em}
264Returns a vector of constructors for CLASS
265\end{adjustwidth}
266
267\paragraph{}
268\label{JAVA:JCLASS-FIELD}
269\index{JCLASS-FIELD}
270--- Function: \textbf{jclass-field} [\textbf{java}] \textit{class field-name}
271
272\begin{adjustwidth}{5em}{5em}
273Returns the field named FIELD-NAME of CLASS
274\end{adjustwidth}
275
276\paragraph{}
277\label{JAVA:JCLASS-FIELDS}
278\index{JCLASS-FIELDS}
279--- Function: \textbf{jclass-fields} [\textbf{java}] \textit{class \&key declared public}
280
281\begin{adjustwidth}{5em}{5em}
282Returns a vector of all (or just the declared/public, if DECLARED/PUBLIC is true) fields of CLASS
283\end{adjustwidth}
284
285\paragraph{}
286\label{JAVA:JCLASS-INTERFACE-P}
287\index{JCLASS-INTERFACE-P}
288--- Function: \textbf{jclass-interface-p} [\textbf{java}] \textit{class}
289
290\begin{adjustwidth}{5em}{5em}
291Returns T if CLASS is an interface
292\end{adjustwidth}
293
294\paragraph{}
295\label{JAVA:JCLASS-INTERFACES}
296\index{JCLASS-INTERFACES}
297--- Function: \textbf{jclass-interfaces} [\textbf{java}] \textit{class}
298
299\begin{adjustwidth}{5em}{5em}
300Returns the vector of interfaces of CLASS
301\end{adjustwidth}
302
303\paragraph{}
304\label{JAVA:JCLASS-METHODS}
305\index{JCLASS-METHODS}
306--- Function: \textbf{jclass-methods} [\textbf{java}] \textit{class \&key declared public}
307
308\begin{adjustwidth}{5em}{5em}
309Return a vector of all (or just the declared/public, if DECLARED/PUBLIC is true) methods of CLASS
310\end{adjustwidth}
311
312\paragraph{}
313\label{JAVA:JCLASS-NAME}
314\index{JCLASS-NAME}
315--- Function: \textbf{jclass-name} [\textbf{java}] \textit{class-ref \&optional name}
316
317\begin{adjustwidth}{5em}{5em}
318When called with one argument, returns the name of the Java class
319  designated by CLASS-REF. When called with two arguments, tests
320  whether CLASS-REF matches NAME.
321\end{adjustwidth}
322
323\paragraph{}
324\label{JAVA:JCLASS-OF}
325\index{JCLASS-OF}
326--- Function: \textbf{jclass-of} [\textbf{java}] \textit{object \&optional name}
327
328\begin{adjustwidth}{5em}{5em}
329Returns the name of the Java class of OBJECT. If the NAME argument is
330  supplied, verifies that OBJECT is an instance of the named class. The name
331  of the class or nil is always returned as a second value.
332\end{adjustwidth}
333
334\paragraph{}
335\label{JAVA:JCLASS-SUPERCLASS}
336\index{JCLASS-SUPERCLASS}
337--- Function: \textbf{jclass-superclass} [\textbf{java}] \textit{class}
338
339\begin{adjustwidth}{5em}{5em}
340Returns the superclass of CLASS, or NIL if it hasn't got one
341\end{adjustwidth}
342
343\paragraph{}
344\label{JAVA:JCLASS-SUPERCLASS-P}
345\index{JCLASS-SUPERCLASS-P}
346--- Function: \textbf{jclass-superclass-p} [\textbf{java}] \textit{class-1 class-2}
347
348\begin{adjustwidth}{5em}{5em}
349Returns T if CLASS-1 is a superclass or interface of CLASS-2
350\end{adjustwidth}
351
352\paragraph{}
353\label{JAVA:JCOERCE}
354\index{JCOERCE}
355--- Function: \textbf{jcoerce} [\textbf{java}] \textit{object intended-class}
356
357\begin{adjustwidth}{5em}{5em}
358Attempts to coerce OBJECT into a JavaObject of class INTENDED-CLASS.  Raises a TYPE-ERROR if no conversion is possible.
359\end{adjustwidth}
360
361\paragraph{}
362\label{JAVA:JCONSTRUCTOR}
363\index{JCONSTRUCTOR}
364--- Function: \textbf{jconstructor} [\textbf{java}] \textit{class-ref \&rest parameter-class-refs}
365
366\begin{adjustwidth}{5em}{5em}
367Returns a reference to the Java constructor of CLASS-REF with the given PARAMETER-CLASS-REFS.
368\end{adjustwidth}
369
370\paragraph{}
371\label{JAVA:JCONSTRUCTOR-PARAMS}
372\index{JCONSTRUCTOR-PARAMS}
373--- Function: \textbf{jconstructor-params} [\textbf{java}] \textit{constructor}
374
375\begin{adjustwidth}{5em}{5em}
376Returns a vector of parameter types (Java classes) for CONSTRUCTOR
377\end{adjustwidth}
378
379\paragraph{}
380\label{JAVA:JEQUAL}
381\index{JEQUAL}
382--- Function: \textbf{jequal} [\textbf{java}] \textit{obj1 obj2}
383
384\begin{adjustwidth}{5em}{5em}
385Compares obj1 with obj2 using java.lang.Object.equals()
386\end{adjustwidth}
387
388\paragraph{}
389\label{JAVA:JFIELD}
390\index{JFIELD}
391--- Function: \textbf{jfield} [\textbf{java}] \textit{class-ref-or-field field-or-instance \&optional instance value}
392
393\begin{adjustwidth}{5em}{5em}
394Retrieves or modifies a field in a Java class or instance.
395
396Supported argument patterns:
397
398   Case 1: class-ref  field-name:
399      Retrieves the value of a static field.
400
401   Case 2: class-ref  field-name  instance-ref:
402      Retrieves the value of a class field of the instance.
403
404   Case 3: class-ref  field-name  primitive-value:
405      Stores a primitive-value in a static field.
406
407   Case 4: class-ref  field-name  instance-ref  value:
408      Stores value in a class field of the instance.
409
410   Case 5: class-ref  field-name  nil  value:
411      Stores value in a static field (when value may be
412      confused with an instance-ref).
413
414   Case 6: field-name  instance:
415      Retrieves the value of a field of the instance. The
416      class is derived from the instance.
417
418   Case 7: field-name  instance  value:
419      Stores value in a field of the instance. The class is
420      derived from the instance.
421
422
423\end{adjustwidth}
424
425\paragraph{}
426\label{JAVA:JFIELD-NAME}
427\index{JFIELD-NAME}
428--- Function: \textbf{jfield-name} [\textbf{java}] \textit{field}
429
430\begin{adjustwidth}{5em}{5em}
431Returns the name of FIELD as a Lisp string
432\end{adjustwidth}
433
434\paragraph{}
435\label{JAVA:JFIELD-RAW}
436\index{JFIELD-RAW}
437--- Function: \textbf{jfield-raw} [\textbf{java}] \textit{class-ref-or-field field-or-instance \&optional instance value}
438
439\begin{adjustwidth}{5em}{5em}
440Retrieves or modifies a field in a Java class or instance. Does not
441attempt to coerce its value or the result into a Lisp object.
442
443Supported argument patterns:
444
445   Case 1: class-ref  field-name:
446      Retrieves the value of a static field.
447
448   Case 2: class-ref  field-name  instance-ref:
449      Retrieves the value of a class field of the instance.
450
451   Case 3: class-ref  field-name  primitive-value:
452      Stores a primitive-value in a static field.
453
454   Case 4: class-ref  field-name  instance-ref  value:
455      Stores value in a class field of the instance.
456
457   Case 5: class-ref  field-name  nil  value:
458      Stores value in a static field (when value may be
459      confused with an instance-ref).
460
461   Case 6: field-name  instance:
462      Retrieves the value of a field of the instance. The
463      class is derived from the instance.
464
465   Case 7: field-name  instance  value:
466      Stores value in a field of the instance. The class is
467      derived from the instance.
468
469
470\end{adjustwidth}
471
472\paragraph{}
473\label{JAVA:JFIELD-TYPE}
474\index{JFIELD-TYPE}
475--- Function: \textbf{jfield-type} [\textbf{java}] \textit{field}
476
477\begin{adjustwidth}{5em}{5em}
478Returns the type (Java class) of FIELD
479\end{adjustwidth}
480
481\paragraph{}
482\label{JAVA:JINPUT-STREAM}
483\index{JINPUT-STREAM}
484--- Function: \textbf{jinput-stream} [\textbf{java}] \textit{pathname}
485
486\begin{adjustwidth}{5em}{5em}
487Returns a java.io.InputStream for resource denoted by PATHNAME.
488\end{adjustwidth}
489
490\paragraph{}
491\label{JAVA:JINSTANCE-OF-P}
492\index{JINSTANCE-OF-P}
493--- Function: \textbf{jinstance-of-p} [\textbf{java}] \textit{obj class}
494
495\begin{adjustwidth}{5em}{5em}
496OBJ is an instance of CLASS (or one of its subclasses)
497\end{adjustwidth}
498
499\paragraph{}
500\label{JAVA:JINTERFACE-IMPLEMENTATION}
501\index{JINTERFACE-IMPLEMENTATION}
502--- Function: \textbf{jinterface-implementation} [\textbf{java}] \textit{interface \&rest method-names-and-defs}
503
504\begin{adjustwidth}{5em}{5em}
505Creates and returns an implementation of a Java interface with
506   methods calling Lisp closures as given in METHOD-NAMES-AND-DEFS.
507
508   INTERFACE is either a Java interface or a string naming one.
509
510   METHOD-NAMES-AND-DEFS is an alternating list of method names
511   (strings) and method definitions (closures).
512
513   For missing methods, a dummy implementation is provided that
514   returns nothing or null depending on whether the return type is
515   void or not. This is for convenience only, and a warning is issued
516   for each undefined method.
517\end{adjustwidth}
518
519\paragraph{}
520\label{JAVA:JMAKE-INVOCATION-HANDLER}
521\index{JMAKE-INVOCATION-HANDLER}
522--- Function: \textbf{jmake-invocation-handler} [\textbf{java}] \textit{function}
523
524\begin{adjustwidth}{5em}{5em}
525not-documented
526\end{adjustwidth}
527
528\paragraph{}
529\label{JAVA:JMAKE-PROXY}
530\index{JMAKE-PROXY}
531--- Generic Function: \textbf{jmake-proxy} [\textbf{java}] \textit{}
532
533\begin{adjustwidth}{5em}{5em}
534Returns a proxy Java object implementing the provided interface(s) using methods implemented in Lisp - typically closures, but implementations are free to provide other mechanisms. You can pass an optional 'lisp-this' object that will be passed to the implementing methods as their first argument. If you don't provide this object, NIL will be used. The second argument of the Lisp methods is the name of the Java method being implemented. This has the implication that overloaded methods are merged, so you have to manually discriminate them if you want to. The remaining arguments are java-objects wrapping the method's parameters.
535\end{adjustwidth}
536
537\paragraph{}
538\label{JAVA:JMEMBER-PROTECTED-P}
539\index{JMEMBER-PROTECTED-P}
540--- Function: \textbf{jmember-protected-p} [\textbf{java}] \textit{member}
541
542\begin{adjustwidth}{5em}{5em}
543MEMBER is a protected member of its declaring class
544\end{adjustwidth}
545
546\paragraph{}
547\label{JAVA:JMEMBER-PUBLIC-P}
548\index{JMEMBER-PUBLIC-P}
549--- Function: \textbf{jmember-public-p} [\textbf{java}] \textit{member}
550
551\begin{adjustwidth}{5em}{5em}
552MEMBER is a public member of its declaring class
553\end{adjustwidth}
554
555\paragraph{}
556\label{JAVA:JMEMBER-STATIC-P}
557\index{JMEMBER-STATIC-P}
558--- Function: \textbf{jmember-static-p} [\textbf{java}] \textit{member}
559
560\begin{adjustwidth}{5em}{5em}
561MEMBER is a static member of its declaring class
562\end{adjustwidth}
563
564\paragraph{}
565\label{JAVA:JMETHOD}
566\index{JMETHOD}
567--- Function: \textbf{jmethod} [\textbf{java}] \textit{class-ref method-name \&rest parameter-class-refs}
568
569\begin{adjustwidth}{5em}{5em}
570Returns a reference to the Java method METHOD-NAME of CLASS-REF with the given PARAMETER-CLASS-REFS.
571\end{adjustwidth}
572
573\paragraph{}
574\label{JAVA:JMETHOD-LET}
575\index{JMETHOD-LET}
576--- Macro: \textbf{jmethod-let} [\textbf{java}] \textit{}
577
578\begin{adjustwidth}{5em}{5em}
579not-documented
580\end{adjustwidth}
581
582\paragraph{}
583\label{JAVA:JMETHOD-NAME}
584\index{JMETHOD-NAME}
585--- Function: \textbf{jmethod-name} [\textbf{java}] \textit{method}
586
587\begin{adjustwidth}{5em}{5em}
588Returns the name of METHOD as a Lisp string
589\end{adjustwidth}
590
591\paragraph{}
592\label{JAVA:JMETHOD-PARAMS}
593\index{JMETHOD-PARAMS}
594--- Function: \textbf{jmethod-params} [\textbf{java}] \textit{method}
595
596\begin{adjustwidth}{5em}{5em}
597Returns a vector of parameter types (Java classes) for METHOD
598\end{adjustwidth}
599
600\paragraph{}
601\label{JAVA:JMETHOD-RETURN-TYPE}
602\index{JMETHOD-RETURN-TYPE}
603--- Function: \textbf{jmethod-return-type} [\textbf{java}] \textit{method}
604
605\begin{adjustwidth}{5em}{5em}
606Returns the result type (Java class) of the METHOD
607\end{adjustwidth}
608
609\paragraph{}
610\label{JAVA:JNEW}
611\index{JNEW}
612--- Function: \textbf{jnew} [\textbf{java}] \textit{constructor \&rest args}
613
614\begin{adjustwidth}{5em}{5em}
615Invokes the Java constructor CONSTRUCTOR with the arguments ARGS.
616\end{adjustwidth}
617
618\paragraph{}
619\label{JAVA:JNEW-ARRAY}
620\index{JNEW-ARRAY}
621--- Function: \textbf{jnew-array} [\textbf{java}] \textit{element-type \&rest dimensions}
622
623\begin{adjustwidth}{5em}{5em}
624Creates a new Java array of type ELEMENT-TYPE, with the given DIMENSIONS.
625\end{adjustwidth}
626
627\paragraph{}
628\label{JAVA:JNEW-ARRAY-FROM-ARRAY}
629\index{JNEW-ARRAY-FROM-ARRAY}
630--- Function: \textbf{jnew-array-from-array} [\textbf{java}] \textit{element-type array}
631
632\begin{adjustwidth}{5em}{5em}
633Returns a new Java array with base type ELEMENT-TYPE (a string or a class-ref)
634   initialized from ARRAY.
635\end{adjustwidth}
636
637\paragraph{}
638\label{JAVA:JNEW-ARRAY-FROM-LIST}
639\index{JNEW-ARRAY-FROM-LIST}
640--- Function: \textbf{jnew-array-from-list} [\textbf{java}] \textit{element-type list}
641
642\begin{adjustwidth}{5em}{5em}
643Returns a new Java array with base type ELEMENT-TYPE (a string or a class-ref)
644   initialized from a Lisp list.
645\end{adjustwidth}
646
647\paragraph{}
648\label{JAVA:JNEW-RUNTIME-CLASS}
649\index{JNEW-RUNTIME-CLASS}
650--- Function: \textbf{jnew-runtime-class} [\textbf{java}] \textit{class-name \&rest args \&key (superclass java.lang.Object) interfaces constructors methods fields (access-flags (quote (public))) annotations}
651
652\begin{adjustwidth}{5em}{5em}
653Creates and loads a Java class with methods calling Lisp closures
654   as given in METHODS.  CLASS-NAME and SUPER-NAME are strings,
655   INTERFACES is a list of strings, CONSTRUCTORS, METHODS and FIELDS are
656   lists of constructor, method and field definitions.
657
658   Constructor definitions - currently NOT supported - are lists of the form
659   (argument-types function \&optional super-invocation-arguments)
660   where argument-types is a list of strings and function is a lisp function of
661   (1+ (length argument-types)) arguments; the instance (`this') is passed in as
662   the last argument. The optional super-invocation-arguments is a list of numbers
663   between 1 and (length argument-types), where the number k stands for the kth argument
664   to the just defined constructor. If present, the constructor of the superclass
665   will be called with the appropriate arguments. E.g., if the constructor definition is
666   (("java.lang.String" "int") \#'(lambda (string i this) ...) (2 1))
667   then the constructor of the superclass with argument types (int, java.lang.String) will
668   be called with the second and first arguments.
669
670   Method definitions are lists of the form
671
672     (METHOD-NAME RETURN-TYPE ARGUMENT-TYPES FUNCTION \&key MODIFIERS ANNOTATIONS)
673
674   where
675      METHOD-NAME is a string
676      RETURN-TYPE denotes the type of the object returned by the method
677      ARGUMENT-TYPES is a list of parameters to the method
678     
679        The types are either strings naming fully qualified java classes or Lisp keywords referring to
680        primitive types (:void, :int, etc.).
681
682     FUNCTION is a Lisp function of minimum arity (1+ (length
683     argument-types)). The instance (`this') is passed as the first
684     argument.
685
686   Field definitions are lists of the form (field-name type \&key modifiers annotations).
687\end{adjustwidth}
688
689\paragraph{}
690\label{JAVA:JNULL-REF-P}
691\index{JNULL-REF-P}
692--- Function: \textbf{jnull-ref-p} [\textbf{java}] \textit{object}
693
694\begin{adjustwidth}{5em}{5em}
695Returns a non-NIL value when the JAVA-OBJECT `object` is `null`,
696or signals a TYPE-ERROR condition if the object isn't of
697the right type.
698\end{adjustwidth}
699
700\paragraph{}
701\label{JAVA:JOBJECT-CLASS}
702\index{JOBJECT-CLASS}
703--- Function: \textbf{jobject-class} [\textbf{java}] \textit{obj}
704
705\begin{adjustwidth}{5em}{5em}
706Returns the Java class that OBJ belongs to
707\end{adjustwidth}
708
709\paragraph{}
710\label{JAVA:JOBJECT-LISP-VALUE}
711\index{JOBJECT-LISP-VALUE}
712--- Function: \textbf{jobject-lisp-value} [\textbf{java}] \textit{java-object}
713
714\begin{adjustwidth}{5em}{5em}
715Attempts to coerce JAVA-OBJECT into a Lisp object.
716\end{adjustwidth}
717
718\paragraph{}
719\label{JAVA:JPROPERTY-VALUE}
720\index{JPROPERTY-VALUE}
721--- Function: \textbf{jproperty-value} [\textbf{java}] \textit{object property}
722
723\begin{adjustwidth}{5em}{5em}
724setf-able access on the Java Beans notion of property named PROPETRY on OBJECT.
725\end{adjustwidth}
726
727\paragraph{}
728\label{JAVA:JREGISTER-HANDLER}
729\index{JREGISTER-HANDLER}
730--- Function: \textbf{jregister-handler} [\textbf{java}] \textit{object event handler \&key data count}
731
732\begin{adjustwidth}{5em}{5em}
733not-documented
734\end{adjustwidth}
735
736\paragraph{}
737\label{JAVA:JRESOLVE-METHOD}
738\index{JRESOLVE-METHOD}
739--- Function: \textbf{jresolve-method} [\textbf{java}] \textit{method-name instance \&rest args}
740
741\begin{adjustwidth}{5em}{5em}
742Finds the most specific Java method METHOD-NAME on INSTANCE applicable to arguments ARGS. Returns NIL if no suitable method is found. The algorithm used for resolution is the same used by JCALL when it is called with a string as the first parameter (METHOD-REF).
743\end{adjustwidth}
744
745\paragraph{}
746\label{JAVA:JRUN-EXCEPTION-PROTECTED}
747\index{JRUN-EXCEPTION-PROTECTED}
748--- Function: \textbf{jrun-exception-protected} [\textbf{java}] \textit{closure}
749
750\begin{adjustwidth}{5em}{5em}
751Invokes the function CLOSURE and returns the result.  Signals an error if stack or heap exhaustion occurs.
752\end{adjustwidth}
753
754\paragraph{}
755\label{JAVA:JSTATIC}
756\index{JSTATIC}
757--- Function: \textbf{jstatic} [\textbf{java}] \textit{method class \&rest args}
758
759\begin{adjustwidth}{5em}{5em}
760Invokes the static method METHOD on class CLASS with ARGS.
761\end{adjustwidth}
762
763\paragraph{}
764\label{JAVA:JSTATIC-RAW}
765\index{JSTATIC-RAW}
766--- Function: \textbf{jstatic-raw} [\textbf{java}] \textit{method class \&rest args}
767
768\begin{adjustwidth}{5em}{5em}
769Invokes the static method METHOD on class CLASS with ARGS. Does not attempt to coerce the arguments or result into a Lisp object.
770\end{adjustwidth}
771
772\paragraph{}
773\label{JAVA:MAKE-CLASSLOADER}
774\index{MAKE-CLASSLOADER}
775--- Function: \textbf{make-classloader} [\textbf{java}] \textit{\&optional parent}
776
777\begin{adjustwidth}{5em}{5em}
778not-documented
779\end{adjustwidth}
780
781\paragraph{}
782\label{JAVA:MAKE-IMMEDIATE-OBJECT}
783\index{MAKE-IMMEDIATE-OBJECT}
784--- Function: \textbf{make-immediate-object} [\textbf{java}] \textit{object \&optional type}
785
786\begin{adjustwidth}{5em}{5em}
787Attempts to coerce a given Lisp object into a java-object of the
788given type.  If type is not provided, works as jobject-lisp-value.
789Currently, type may be :BOOLEAN, treating the object as a truth value,
790or :REF, which returns Java null if NIL is provided.
791
792Deprecated.  Please use JAVA:+NULL+, JAVA:+TRUE+, and JAVA:+FALSE+ for
793constructing wrapped primitive types, JAVA:JOBJECT-LISP-VALUE for converting a
794JAVA:JAVA-OBJECT to a Lisp value, or JAVA:JNULL-REF-P to distinguish a wrapped
795null JAVA-OBJECT from NIL.
796\end{adjustwidth}
797
798\paragraph{}
799\label{JAVA:REGISTER-JAVA-EXCEPTION}
800\index{REGISTER-JAVA-EXCEPTION}
801--- Function: \textbf{register-java-exception} [\textbf{java}] \textit{exception-name condition-symbol}
802
803\begin{adjustwidth}{5em}{5em}
804Registers the Java Throwable named by the symbol EXCEPTION-NAME as the condition designated by CONDITION-SYMBOL.  Returns T if successful, NIL if not.
805\end{adjustwidth}
806
807\paragraph{}
808\label{JAVA:UNREGISTER-JAVA-EXCEPTION}
809\index{UNREGISTER-JAVA-EXCEPTION}
810--- Function: \textbf{unregister-java-exception} [\textbf{java}] \textit{exception-name}
811
812\begin{adjustwidth}{5em}{5em}
813Unregisters the Java Throwable EXCEPTION-NAME previously registered by REGISTER-JAVA-EXCEPTION.
814\end{adjustwidth}
815
Note: See TracBrowser for help on using the repository browser.