;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Apr 2000
;;;;
-;;;; $Id: classes.lisp,v 1.9 2002/11/04 18:02:13 kevin Exp $
+;;;; $Id: classes.lisp,v 1.10 2002/11/04 19:19:04 kevin Exp $
;;;;
;;;; This file, part of UMLisp, is
;;;; Copyright (c) 2000-2002 by Kevin M. Rosenberg, M.D.
(in-package :umlisp)
(declaim (optimize (speed 3) (safety 1) (compilation-speed 0) (debug 3)))
-(defclass umlsclass ()
+(defclass umlsclass (hyperobject)
()
(:metaclass hyperobject-class)
(:documentation "Parent class of all UMLS objects. It is based on the HYPEROBJECT-CLASS metaclass that provides object printing functions."))
-(defmethod print-object ((obj umlsclass) (s stream))
- (print-unreadable-object (obj s :type t :identity t)
- (let ((fmt (make-instance 'kmrcl::textformat)))
- (apply #'format
- s (funcall (kmrcl::obj-data-fmtstr fmt) obj)
- (multiple-value-list
- (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))
(eval-when (:compile-toplevel :load-toplevel :execute)
(defun english-term-p (obj)
"Returns two values: T/NIL if term is english and T/NIL if obj is a TERM"
- (if (eq (kmrcl::hyperobject-class-name (kmrcl::hyperobject-class-of obj)) 'uterm)
+ (if (eq (hyperobject::portable-class-name (hyperobject::portable-class-of obj)) 'uterm)
(values (string-equal (lat obj) "ENG") t)
(values nil nil))))