r3103: *** empty log message ***
[umlisp.git] / classes.lisp
index a81cdc3345e4501b78b07b5821f877b3766ee1d0..0a866ee0ca4632afc8032a29a838bdfd32915cce 100644 (file)
@@ -7,7 +7,7 @@
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Apr 2000
 ;;;;
-;;;; $Id: classes.lisp,v 1.5 2002/10/14 15:03:43 kevin Exp $
+;;;; $Id: classes.lisp,v 1.8 2002/10/18 07:28:57 kevin Exp $
 ;;;;
 ;;;; This file, part of UMLisp, is
 ;;;;    Copyright (c) 2000-2002 by Kevin M. Rosenberg, M.D.
              (funcall (funcall (kmrcl::obj-data-value-func fmt) obj) obj))))))
 
 
+(defclass usrl (umlsclass)
+  ((sab :type string :initarg :sab :reader sab)
+   (srl :type integer :initarg :srl :reader srl))
+  (:metaclass kmrcl:ml-class)
+  (:default-initargs :sab nil :srl nil)
+  (:title "Source Restriction Level")
+  (:fields (sab :string) (srl :fixnum))
+  (:documentation "Custom Table: Source Restriction Level"))
+
+  
 (defclass urank (umlsclass)
   ((rank :type fixnum :initarg :rank :reader rank)
    (sab :type string :initarg :sab :reader sab)
 
 (eval-when (:compile-toplevel :load-toplevel :execute)
 (defun english-term-p (obj)
-  (and (eq (class-name (class-of obj)) 'uterm)
-       (string-equal (lat obj) "ENG"))))
+  "Returns two values: T/NIL if term is english and T/NIL if obj is a TERM"
+  (if (eq (kmrcl::ml-class-name (kmrcl::ml-class-of obj)) 'uterm)
+      (values (string-equal (lat obj) "ENG") t)
+    (values nil nil))))
 
 (defun display-umls-obj 
   (obj &key (os *standard-output*) (format :text) (label nil) 
 (defludisp-ml-class disp-term #'find-uterm-lui)
 (defludisp-ml-class disp-str #'find-ustr-sui)
 
-#+cmu
-(dolist (c '(urank udef usat uso ucxt ustr ulo uterm usty urel ucoc uatx ucon uxw uxnw uxns lexterm labr lagr lcmp lmod lnom lprn lprp lspl ltrm ltyp lwd sdef sstr sstre1 sstre2 ))
-  (let ((cl (pcl:find-class c)))
-    (pcl:finalize-inheritance cl)))
+#+(or scl cmu)
+(dolist (c '(urank udef usat uso ucxt ustr ulo uterm usty urel ucoc uatx ucon uxw uxnw uxns lexterm labr lagr lcmp lmod lnom lprn lprp lspl ltrm ltyp lwd sdef sstr sstre1 sstre2 usrl))
+    #+cmu
+    (let ((cl (pcl:find-class c)))
+      (pcl:finalize-inheritance cl))
+    #+scl
+    (let ((cl (find-class c)))
+      (clos:finalize-inheritance cl)))