source: branches/1.1.x/doc/manual/java.tex @ 14266

Last change on this file since 14266 was 14266, checked in by Mark Evenson, 8 years ago

abcl-1.1.0 Manual grovel.

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