projects
/
hyperobject.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
r3468: *** empty log message ***
[hyperobject.git]
/
example.lisp
diff --git
a/example.lisp
b/example.lisp
index 9398cc6f171247f22d95a34f0d8eaba58315808e..e16bba54835954ff78f905ec240ebbe67a40410e 100644
(file)
--- a/
example.lisp
+++ b/
example.lisp
@@
-9,24
+9,27
@@
;;;;
;;;; A simple example file for hyperobjects
;;;;
;;;;
;;;; A simple example file for hyperobjects
;;;;
-;;;; $Id: example.lisp,v 1.
2 2002/11/22 15:45:06
kevin Exp $
+;;;; $Id: example.lisp,v 1.
6 2002/11/24 17:47:50
kevin Exp $
;;;;
;;;; This file is Copyright (c) 2000-2002 by Kevin M. Rosenberg
;;;;
;;;; *************************************************************************
;;;;
;;;; This file is Copyright (c) 2000-2002 by Kevin M. Rosenberg
;;;;
;;;; *************************************************************************
-(in-package :hyperobject-
mop-
user)
+(in-package :hyperobject-user)
(defclass person (hyperobject)
(defclass person (hyperobject)
- ((first-name :type string :initarg :first-name :reader first-name
:initform nil
)
- (last-name :type string :initarg :last-name :reader last-name
:initform nil
+ ((first-name :type string :initarg :first-name :reader first-name)
+ (last-name :type string :initarg :last-name :reader last-name
:reference find-person-by-last-name)
:reference find-person-by-last-name)
- (dob :type integer :initarg :dob :reader dob :
initform 0 :format-func
format-date)
+ (dob :type integer :initarg :dob :reader dob :
print-formatter
format-date)
(resume :type cdata :initarg :resume :reader resume)
(resume :type cdata :initarg :resume :reader resume)
- (addresses :initarg :addresses :reader addresses :
initform nil :
subobject t))
+ (addresses :initarg :addresses :reader addresses :subobject t))
(:metaclass hyperobject-class)
(:metaclass hyperobject-class)
- (:title "Person"))
+ (:default-initargs :first-name nil :last-name nil :dob 0 :resume nil)
+ (:print-slots first-name last-name dob resume)
+ (:title "Person")
+ (:description "A Person"))
(defun format-date (ut)
(when (typep ut 'integer)
(defun format-date (ut)
(when (typep ut 'integer)
@@
-41,24
+44,31
@@
hr min sec))))
(defclass address (hyperobject)
hr min sec))))
(defclass address (hyperobject)
- ((title :type string :initarg :title :reader title
:initform nil
)
- (street :type string :initarg :street :reader street
:initform nil
)
- (phones :initarg :phones :reader phones :
initform nil :
subobject t))
+ ((title :type string :initarg :title :reader title)
+ (street :type string :initarg :street :reader street)
+ (phones :initarg :phones :reader phones :subobject t))
(:metaclass hyperobject-class)
(:metaclass hyperobject-class)
- (:title "Address"))
+ (:default-initargs :title nil :street nil)
+ (:title "Address")
+ (:print-slots title street)
+ (:description "An address"))
(defclass phone (hyperobject)
(defclass phone (hyperobject)
- ((phone-number :type string :initarg :phone-number :reader phone-number))
+ ((title :type string :initarg :title :reader title)
+ (phone-number :type string :initarg :phone-number :reader phone-number))
(:metaclass hyperobject-class)
(:metaclass hyperobject-class)
- (:title "Phone Number"))
+ (:title "Phone Number")
+ (:default-initargs :title nil :phone-number nil)
+ (:print-slots title phone-number)
+ (:description "A phone number"))
-(defparameter home-phone-1 (make-instance 'phone :phone-number "367-9812"))
-(defparameter home-phone-2 (make-instance 'phone :phone-number "367-9813"))
+(defparameter home-phone-1 (make-instance 'phone :
title "Voice" :
phone-number "367-9812"))
+(defparameter home-phone-2 (make-instance 'phone :
title "Fax" :
phone-number "367-9813"))
-(defparameter office-phone-1 (make-instance 'phone :phone-number "123-0001"))
-(defparameter office-phone-2 (make-instance 'phone :phone-number "123-0002"))
-(defparameter office-phone-3 (make-instance 'phone :phone-number "123-0005"))
+(defparameter office-phone-1 (make-instance 'phone :
title "Main line" :
phone-number "123-0001"))
+(defparameter office-phone-2 (make-instance 'phone :
title "Staff line" :
phone-number "123-0002"))
+(defparameter office-phone-3 (make-instance 'phone :
title "Fax" :
phone-number "123-0005"))
(defparameter home (make-instance 'address :title "Home" :street "321 Shady Lane"
:phones (list home-phone-1 home-phone-2)))
(defparameter home (make-instance 'address :title "Home" :street "321 Shady Lane"
:phones (list home-phone-1 home-phone-2)))