r9104: update dates/headers
[umlisp.git] / classes.lisp
index fe8bf41b2aae859fb263706591fe91d3f2eedf2b..7c3b9a86f19bad14e7596d649aa8ae5a6b9362b6 100644 (file)
@@ -2,22 +2,21 @@
 ;;;; *************************************************************************
 ;;;; FILE IDENTIFICATION
 ;;;;
-;;;; Name:          classes.lisp
-;;;; Purpose:       Class defintions for UMLisp
-;;;; Programmer:    Kevin M. Rosenberg
-;;;; Date Started:  Apr 2000
+;;;; Name:     classes.lisp
+;;;; Purpose:  Class defintions for UMLisp
+;;;; Author:   Kevin M. Rosenberg
+;;;; Created:  Apr 2000
 ;;;;
-;;;; $Id: classes.lisp,v 1.31 2003/04/17 05:39:31 kevin Exp $
+;;;; $Id$
 ;;;;
 ;;;; This file, part of UMLisp, is
-;;;;    Copyright (c) 2000-2002 by Kevin M. Rosenberg, M.D.
+;;;;    Copyright (c) 2000-2004 by Kevin M. Rosenberg, M.D.
 ;;;;
 ;;;; UMLisp users are granted the rights to distribute and use this software
 ;;;; as governed by the terms of the GNU General Public License.
 ;;;; *************************************************************************
 
-(in-package :umlisp)
-(declaim (optimize (speed 3) (safety 1) (compilation-speed 0) (debug 3)))
+(in-package #:umlisp)
 
 (defclass umlsclass (hyperobject)
   ()
   ((vcui :value-type fixnum :initarg :vcui :reader vcui :print-formatter fmt-cui)
    (rcui :value-type fixnum :initarg :rcui :reader rcui :print-formatter fmt-cui)
    (vsab :value-type string :initarg :vsab :reader vsab)
-   (rsab :value-type string :initarg :rsab :reader rsab :hyperlink find-ucan-sab)
+   (rsab :value-type string :initarg :rsab :reader rsab :hyperlink find-ustr-sab
+        :hyperlink-parameters (("subobjects" . "no")))
    (son :value-type string :initarg :son :reader son)
    (sf :value-type string :initarg :sf :reader sf)
    (sver :value-type string :initarg :sver :reader sver)
-   (mstart :value-type string :initarg :mstart :reader mstart)
-   (mend :value-type string :initarg :mend :reader mend)
+   (vstart :value-type string :initarg :vstart :reader vstart)
+   (vend :value-type string :initarg :vend :reader vend)
    (imeta :value-type string :initarg :imeta :reader imeta)
    (rmeta :value-type string :initarg :rmeta :reader rmeta)
    (slc :value-type cdata :initarg :slc :reader slc)
@@ -85,7 +85,7 @@
    (sabin :value-type string :initarg :sabin :reader sabin))
   (:metaclass hyperobject-class)
   (:user-name "Source Abbreviation")
-  (:default-print-slots vcui rcui vsab rsab son sf sver mstart mend imeta
+  (:default-print-slots vcui rcui vsab rsab son sf sver vstart vend imeta
                rmeta slc scc srl tfr cfr cxty ttyl atnl lat cenc
                curver sabin))
 
 
 (defclass usty (umlsclass)
   ((tui :value-type fixnum :initarg :tui :reader tui :print-formatter fmt-tui
-       :hyperlink (find-ucon-tui ("subobjects" "no")))
+       :hyperlink find-ucon-tui
+       :hyperlink-parameters (("subobjects" . "no")))
    (sty :value-type string :initarg :sty :reader sty))
   (:metaclass hyperobject-class)
   (:user-name "Semantic Type")
    (lui :value-type fixnum :initform nil :initarg :lui :reader lui :print-formatter fmt-lui)
    (sui :value-type fixnum :initform nil :initarg :sui :reader sui :print-formatter fmt-sui))
   (:metaclass hyperobject-class)
-  (:user-name "XW Index")
+  (:user-name "XW Index" "XW Indices")
+  (:default-print-slots wd cui lui sui))
+
+(defclass uxw-noneng (umlsclass)
+  ((lat :value-type string :initarg :lat :reader lat)
+   (wd :value-type string :initarg :wd :reader wd)
+   (cui :value-type fixnum :initform nil :initarg :cui :reader cui :print-formatter fmt-cui)
+   (lui :value-type fixnum :initform nil :initarg :lui :reader lui :print-formatter fmt-lui)
+   (sui :value-type fixnum :initform nil :initarg :sui :reader sui :print-formatter fmt-sui)
+   (lrl :value-type fixnum :initform nil :initarg :lrl :reader lrl))
+  (:metaclass hyperobject-class)
+  (:user-name "XW Non-English Index" "XW Non-English Indices")
   (:default-print-slots wd cui lui sui))
 
 (defclass uxnw (umlsclass)
    (nwd :value-type string :initarg :nwd :reader nwd)
    (cuilist :value-type list :initarg :cuilist :reader uxnw-cuilist))
   (:metaclass hyperobject-class)
-  (:user-name "XNW Index")
+  (:user-name "XNW Index" "XNW Indices")
   (:default-print-slots lat nwd cuilist))
 
 (defclass uxns (umlsclass)
    (nstr :value-type string :initarg :nstr :reader nstr)
    (cuilist :value-type list :initarg :cuilist :reader cuilist))
   (:metaclass hyperobject-class)
-  (:user-name "XNS Index")
+  (:user-name "XNS Index" "XNS Indices")
   (:default-print-slots lat nstr cuilist))
 
 
    (eui2 :value-type integer :initarg :eui2 :reader eui2 :print-formatter fmt-eui)
    (bas2 :value-type string :initarg :bas2 :reader bas2))
   (:metaclass hyperobject-class)
-  (:user-name "Abbreviations and Acronyms")
+  (:user-name "Abbreviations and Acronym")
   (:default-print-slots eui bas abr eui2 bas2))
 
 (defclass lagr  (umlsclass)
    (psnmod :value-type string :initarg :psnmod :reader psnmod)
    (fea :value-type string :initarg :fea :reader fea))
   (:metaclass hyperobject-class)
-  (:user-name "Modifiers")
+  (:user-name "Modifier")
   (:default-print-slots eui bas sca psnmod fea))
 
 (defclass lnom  (umlsclass)
    (bas2 :value-type string :initarg :bas2 :reader bas2)
    (sca2 :value-type string :initarg :sca2 :reader sca2))
   (:metaclass hyperobject-class)
-  (:user-name "Nominalizations")
+  (:user-name "Nominalization")
   (:default-print-slots eui bas sca eui2 bas2 sca2))
 
 (defclass lprn  (umlsclass)
    (qnt :value-type string :initarg :qnt :reader qnt)
    (fea :value-type string :initarg :fea :reader fea))
   (:metaclass hyperobject-class)
-  (:user-name "Pronouns")
+  (:user-name "Pronoun")
   (:default-print-slots eui bas num gnd cas pos qnt fea))
 
 (defclass lprp  (umlsclass)
    (sca :value-type string :initarg :sca :reader sca)
    (fea :value-type string :initarg :fea :reader fea))
   (:metaclass hyperobject-class)
-  (:user-name "Properties")
+  (:user-name "Property" "Properties")
   (:default-print-slots eui bas str sca fea))
 
 
    (spv :value-type string :initarg :spv :reader spv)
    (bas :value-type string :initarg :bas :reader bas))
   (:metaclass hyperobject-class)
-  (:user-name "Spelling Variants")
+  (:user-name "Spelling Variant")
   (:default-print-slots eui spv bas))
 
 
    (bas :value-type string :initarg :bas :reader bas)
    (gen :value-type string :initarg :gen :reader gen))
   (:metaclass hyperobject-class)
-  (:user-name "Trade Marks")
+  (:user-name "Trade Mark")
   (:default-print-slots eui bas gen))
 
 (defclass ltyp  (umlsclass)
   ((wrd :value-type string :initarg :wrd :reader wrd)
    (euilist :value-type list :initarg :euilist :reader euilist))
   (:metaclass hyperobject-class)
-  (:user-name "Lexical Word Index")
+  (:user-name "Lexical Word Index" "Lexical Word Indices")
   (:default-print-slots wrd euilist))
 
 ;;; Semantic NET objects
    (abr :value-type string :initarg :abr :reader abr)
    (rin :value-type string :initarg :rin :reader rin))
   (:metaclass hyperobject-class)
-  (:user-name "Basic information about Semantic Types and Relations")
+  (:user-name "Basic information about Semantic Types and Relation")
   (:default-print-slots rt ui styrl stnrtn def ex un rh abr rin))
 
 (defclass sstr (umlsclass)
    (ui2 :value-type integer :initarg :ui2 :reader ui2 :print-formatter fmt-tui)
    (ui3 :value-type integer :initarg :ui3 :reader ui3 :print-formatter fmt-tui))
   (:metaclass hyperobject-class)
-  (:user-name "Fully Inherited Set of Releatons (TUI's)")
+  (:user-name "Fully Inherited Set of Relation (TUIs)"
+             "Fully Inherited Set of Relations (TUIs)")
   (:default-print-slots ui ui2 ui3))
 
 (defclass sstre2 (umlsclass)
    (rl :value-type string :initarg :ui2 :reader rl)
    (sty2 :value-type string :initarg :ui3 :reader sty2))
   (:metaclass hyperobject-class)
-  (:user-name "Fully Inherited Set of Releatons (strings)")
+  (:user-name "Fully Inherited Set of Relation (strings)"
+             "Fully Inherited Set of Relations (strings)")
   (:default-print-slots sty rl sty2))
 
+
+;;; **************************
+;;; Local Classes
+;;; **************************
+
+(defclass ustats (umlsclass)
+  ((name :value-type string :initarg :name :reader name)
+   (hits :value-type integer :initarg :hits :reader hits
+        :user-name "count"
+        :print-formatter fmt-comma-integer)
+   (srl :value-type fixnum :initarg :srl :reader srl))
+  (:metaclass hyperobject-class)
+  (:default-initargs :name nil :hits nil :srl nil)
+  (:user-name "UMLS Statistic")
+  (:default-print-slots name hits srl)
+  (:documentation "Custom Table: UMLS Database statistics."))
+
+  
+(defclass bsab (umlsclass)
+  ((sab :value-type string :initarg :sab :reader sab
+       :hyperlink find-ustr-sab
+       :hyperlink-parameters (("subobjects" . "no")))
+   (name :value-type string :initarg :name :reader name)
+   (hits :value-type fixnum :initarg :hits :reader hits
+        :user-name "count"
+        :print-formatter fmt-comma-integer))
+  (:metaclass hyperobject-class)
+  (:default-initargs :sab nil :name nil :hits nil)
+  (:user-name "Source of Abbreviation")
+  (:default-print-slots sab name hits)
+  (:documentation "Bonus SAB file"))
+  
+(defclass btty (umlsclass)
+  ((tty :value-type string :initarg :tty :reader tty)
+   (name :value-type string :initarg :name :reader name)
+   (hits :value-type fixnum :initarg :hits :reader hits
+        :user-name "count"
+        :print-formatter fmt-comma-integer))
+  (:metaclass hyperobject-class)
+  (:default-initargs :tty nil :name nil :hits nil)
+  (:user-name "Bonus TTY")
+  (:default-print-slots tty name hits)
+  (:documentation "Bonus TTY file"))
+  
+(defclass brel (umlsclass)
+  ((sab :value-type string :initarg :sab :reader sab)
+   (sl :value-type string :initarg :sl :reader sl)
+   (rel :value-type string :initarg :rel :reader rel)
+   (rela :value-type string :initarg :rela :reader rela)
+   (hits :value-type fixnum :initarg :hits :reader hits
+        :user-name "count"
+        :print-formatter fmt-comma-integer))
+  (:metaclass hyperobject-class)
+  (:default-initargs :sab nil :sl nil :rel nil :rela nil :hits nil)
+  (:user-name "Bonus REL")
+  (:default-print-slots sab sl rel rela hits)
+  (:documentation "Bonus REL file"))
+
+(defclass batn (umlsclass)
+  ((sab :value-type string :initarg :sab :reader sab)
+   (atn :value-type string :initarg :atn :reader atn)
+   (hits :value-type fixnum :initarg :hits :reader hits
+        :user-name "count"
+        :print-formatter fmt-comma-intger))
+  (:metaclass hyperobject-class)
+  (:default-initargs :sab nil :atn nil)
+  (:user-name "Bonus ATN")
+  (:default-print-slots sab atn hits)
+  (:documentation "Bonus ATN file"))