;;;-*- mode: lisp; package: ccpl -*-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; File: design-obj.lisp
;;
;; Copyright: c 1996, Peter Lunden
;;
;; Date of Creation: 1996.07.29
;;
;; Author: Peter Lunden
;;
;; Purpose:
;;
;; Version:
;;
;; History of Changes:
;;
;; To Do:
;;
(defclass design-object (date-mixin)
((storage-constructor :accessor storage-constructor
:initarg :storage-constructor
:initform nil)
(id :reader id-of
:initarg :id)
(version :reader version-of
:initarg :version
:initform 0)))
(defmethod initialize-instance :after ((obj design-object) &rest args)
(declare (ignore args))
(setf (slot-value obj 'id)
(generate-id obj)))
(defun generate-id (obj)
(intern
(symbol-name
(gensym (concatenate 'string
(symbol-name (class-name (class-of obj)))
"-")))))
(defclass versioned-design-object (design-object)
((derivation :accessor versioned-design-object-derivation
:initarg :derivation)
(parent :accessor versioned-design-object-parent
:initarg :parent)))
(defmethod create ((obj versioned-design-object))
)
(defmethod derive ((obj versioned-design-object))
)
(defmethod create ((obj versioned-design-object))
)
(defmethod create ((obj versioned-design-object))
)
(defmethod create ((obj versioned-design-object))
)
(defmethod create ((obj versioned-design-object))
)
(defmethod create ((obj versioned-design-object))
)
(defmethod create ((obj versioned-design-object))
)
(defmethod check-in ((obj versioned-design-object))
)
(defmethod check-out ((obj versioned-design-object))
)
#|
(defclass derivation ()
())
|#