Arguments: name supers statics fields slots &rest options
This page has been updated since its original release with Allegro CL 6.0. The new material concerns the accessor, reader, and writer objects (specified in the slots argument if defined) argument, left out of the original release. FAQ entry 4-11 also has this correction. (The link assumes the updated FAQ is in the ../../../faq/ subdirectory with respect to this file. If the link does not work, you can find this FAQ on the Franz Inc. home page: http://www.franz.com/.)
This macro defines a Lisp class that represents a Java class. Once a Lisp class is defined to represent a Java class, remote references to instances of the Java class will be instances of the corresponding Lisp class. As a result, Lisp methods may be defined.
If the name is a string or symbol, it is the name of the Java class and the corresponding symbol is the name of the Lisp class. If the name is a list, the first element is a symbol for the name of the Lisp class and the second element is a string or symbol that identifies a Java class.
The second argument is a list of Lisp superclasses. This list will be
augmented by adding the class
javatools.jlinker::java-class at the end.
The third and fourth arguments are lists of static and class fields in the Java class. Each item is of the form
(name [:accessor aname] [:reader rname] [:writer wname])
where name is again like the class name - a single string or symbol or a list of two. If the accessor, reader and writer components are omitted, the Lisp name of the field is defined as an accessor to the Java field. If any of the accessor, reader and writer components are specified, then those are the only accessors defined for the field.
The fifth argument is additional Lisp slots that are added to the class with no inspection of any kind. The final optional arguments are appended to the class definition.
See jlinker.htm for more information on the jLinker facility.
The documentation is described in introduction.htm and the index is in index.htm.
Copyright (c) 1998-2000, Franz Inc. Berkeley, CA., USA. All rights reserved.
Created 2000.10.5.