;;;;
;;;; A simple example file for hyperobjects
;;;;
-;;;; $Id: person.lisp,v 1.3 2002/12/13 22:15:30 kevin Exp $
+;;;; $Id: person.lisp,v 1.4 2002/12/14 02:30:58 kevin Exp $
;;;;
;;;; This file is Copyright (c) 2000-2002 by Kevin M. Rosenberg
;;;;
:value-constraint integerp :input-filter convert-to-date)
(resume :value-type string :initarg :resume :reader resume
:value-constraint stringp)
- (addresses :value-type (list-of subobject) :initarg :addresses :reader addresses))
+;; (addresses :value-type (list-of subobject) :initarg :addresses :reader addresses))
+ (addresses :subobject t :initarg :addresses :reader addresses))
(:metaclass hyperobject-class)
(:default-initargs :first-name "" :last-name "" :dob 0 :resume nil)
(:default-print-slots first-name last-name dob resume)
(:user-name "Person")
(:description "A Person")
(:direct-rules
- ((:rule-1 (:depends-on '(last-name first-name))
- (setf full-name (concatentate 'string first-name " " last-name))))))
+ (:rule-1 (:dependants (last-name first-name) :volatile full-name)
+ (setf full-name (concatentate 'string first-name " " last-name)))))
(defun format-date (ut)
(when (typep ut 'integer)
:value-constraint stringp)
(street :value-type (varchar 30) :initarg :street :reader street
:value-constraint stringp)
- (phones :value-type (list-oj subobject) :initarg :phones :reader phones)
+ (phones :subobject t :initarg :phones :reader phones))
(:metaclass hyperobject-class)
(:default-initargs :title nil :street nil)
(:user-name "Address")