;;;;
;;;; Name: data-structures.lisp
;;;; Purpose: Basic data objects for UMLisp
-;;;; Programmer: Kevin M. Rosenberg
+;;;; Author: Kevin M. Rosenberg
;;;; Date Started: Apr 2000
;;;;
-;;;; $Id: data-structures.lisp,v 1.5 2002/12/23 21:59:44 kevin Exp $
+;;;; $Id: data-structures.lisp,v 1.12 2003/06/10 22:30:16 kevin Exp $
;;;;
;;;; This file, part of UMLisp, is
-;;;; Copyright (c) 2000-2002 by Kevin M. Rosenberg, M.D.
+;;;; Copyright (c) 2000-2003 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)
;;; Paths for files
(defparameter *umls-cols* nil
"List of meta column structures. Used when parsing text files.")
+
+;; Preliminary objects to replace structures
+
+(defclass ufile ()
+ ((fil :initarg :fil :accessor fil)
+ (table :initarg :table :accessor table)
+ (des :initarg :des :accessor des)
+ (fmt :initarg :fmt :accessor fmt)
+ (cls :initarg :cls :accessor cls)
+ (rws :initarg :rws :accessor rws)
+ (bts :initarg :bts :accessor bts)
+ (fields :initarg :fields :accessor fields)
+ (ucols :initarg :ucols :accessor ucols))
+ (:default-initargs :fil nil :table nil :des nil :fmt nil :cls nil :rws nil :bts nil
+ :fields nil :ucols nil)
+ (:documentation "UMLS File"))
+
+(defclass ucol ()
+ ((col :initarg :col :accessor col)
+ (des :initarg :des :accessor des)
+ (ref :initarg :ref :accessor ref)
+ (min :initarg :min :accessor cmin)
+ (av :initarg :av :accessor av)
+ (max :initarg :max :accessor cmax)
+ (fil :initarg :fil :accessor fil)
+ (sqltype :initarg :sqltype :accessor sqltype)
+ (dty :initarg :dty :accessor dty :documentation "new in 2002: suggested SQL datatype")
+ (parse-fun :initarg :parse-fun :accessor parse-fun)
+ (quote-str :initarg :quote-str :accessor quote-str)
+ (datatype :initarg :datatype :accessor datatype)
+ (custom-value-fun :initarg :custom-value-fun :accessor custom-value-fun))
+ (:default-initargs :col nil :des nil :ref nil :min nil :av nil :max nil :fil nil
+ :sqltype nil :dty nil :parse-fun nil :datatype nil
+ :custom-value-fun nil)
+ (:documentation "UMLS column"))
+
+
+(defmethod print-object ((obj ufile) (s stream))
+ (print-unreadable-object (obj s :type t)
+ (format s "~A" (fil obj))))
+
+(defmethod print-object ((obj ucol) (s stream))
+ (print-unreadable-object (obj s :type t)
+ (format s "~A" (col obj))))
+
+
+