source: branches/typed-asm/abcl/doc/manual/java.tex

Last change on this file was 13866, checked in by Mark Evenson, 13 years ago

Promote JAVA:JARRAY-FROM-LIST to the public API.

Re-run grovel on the docstrings.

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