| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version |
Arguments: key &optional value
The purpose of this function is to extract and modify data specific to
one particular Lisp-Java connection. The first (required) argument,
key, is
a keyword that specifies the information accessed. If the second
(optional) argument,
value, is omitted or nil
, the current value is returned;
if the second argument is non-nil
, it is stored.
The possible values of the key argument are:
:data
: this value is reserved for the application
programmer. The purpose is to provide a place for application-specific
data associated with a particular connection. There is an example of
its use in
examples/jlinker/applet/many-applets.cl.
:notifier
: this value causes jlinker-slot to return a Lisp
process object when a connection is active or nil
when there is no connection.
:lisp-call-error-p
: if a non-nil
value for value is supplied,
then subsequent calls from Java are affected: if a Lisp error occurs
in a call from Java an error break will be taken; one of the restarts
in that case is to return alternate values to Java. Since the error
break ties up the Java/Lisp interface, this option should be used
sparingly.
One use for this object is to pass it as an argument to jnotify-lisp. Another
use is to detect a new jlinker connection. The data structure in
*jlinker-connection*
is re-used
from one connection to the next, hence an eq test against a saved value will
always return t
.
The value in the :notifier
slot is newly created
for each connection and can therefore be compared with eq to a saved value to detect a new
connection. Note and warning: calling jlinker-slot with a second
non-nil
argument will modify the value of the
slot and will probably damage the current jlinker connection beyond
repair.
The other values of the key argument are reserved for internal uses at this time.
See jlinker.htm for more information on the jLinker facility.
Copyright (c) 1998-2019, Franz Inc. Oakland, CA., USA. All rights reserved.
This page was not revised from the 8.2 page.
Created 2012.5.30.
| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version |