Update of /project/elephant/cvsroot/elephant/src/elephant In directory clnet:/tmp/cvs-serv29083/src/elephant
Modified Files: classes.lisp controller.lisp metaclasses.lisp serializer.lisp Log Message: Latest documentation changes
--- /project/elephant/cvsroot/elephant/src/elephant/classes.lisp 2007/03/30 23:36:53 1.25 +++ /project/elephant/cvsroot/elephant/src/elephant/classes.lisp 2007/04/01 14:33:34 1.26 @@ -39,9 +39,11 @@ (defclass persistent-object (persistent) () (:metaclass persistent-metaclass) (:documentation - "Superclass of all user-defined persistent classes. This is + "Superclass for all user-defined persistent classes. This is automatically inherited if you use the persistent-metaclass - metaclass.")) + metaclass. This allows specialization of functions for user + objects that would not be appropriate for Elephant objects + such as persistent collections"))
;; ================================================ ;; METACLASS INITIALIZATION AND CHANGES --- /project/elephant/cvsroot/elephant/src/elephant/controller.lisp 2007/03/30 23:42:35 1.44 +++ /project/elephant/cvsroot/elephant/src/elephant/controller.lisp 2007/04/01 14:33:34 1.45 @@ -48,11 +48,13 @@ (defvar *dbconnection-spec* (make-hash-table :test 'equal)) (defvar *dbconnection-lock* (ele-make-lock))
-(defmethod get-con ((instance persistent) &optional (sc *store-controller*)) - "This is used to find and validate the connection spec +(defgeneric get-con (instance &optional sc) + (:documentation "This is used to find and validate the connection spec maintained for in-memory persistent objects. Should we re-open the controller from the spec if it's not - cached? That might be dangerous so for now we error" + cached? That might be dangerous so for now we error")) + +(defmethod get-con ((instance persistent) &optional (sc *store-controller*)) (declare (ignore sc)) (let ((con (gethash (dbcn-spc-pst instance) *dbconnection-spec*))) (cond ((not con) --- /project/elephant/cvsroot/elephant/src/elephant/metaclasses.lisp 2007/03/30 23:36:53 1.14 +++ /project/elephant/cvsroot/elephant/src/elephant/metaclasses.lisp 2007/04/01 14:33:34 1.15 @@ -29,7 +29,7 @@ :documentation "Persistent objects use a spec pointer to identify which store they are connected to")) (:documentation "Abstract superclass for all persistent classes (common - to user-defined classes and collections.)")) + to both user-defined classes and Elephant-defined objects such as collections.)"))
(defclass persistent-metaclass (standard-class) ((%persistent-slots :accessor %persistent-slots) --- /project/elephant/cvsroot/elephant/src/elephant/serializer.lisp 2007/03/30 14:34:35 1.26 +++ /project/elephant/cvsroot/elephant/src/elephant/serializer.lisp 2007/04/01 14:33:34 1.27 @@ -47,6 +47,8 @@ ;;
(defun serialize-to-base64-string (x sc) + "Encode object using the store controller's serializer format, + but encoded in a base64" (with-buffer-streams (out-buf) (cl-base64::usb8-array-to-base64-string (elephant-memutil::buffer-read-byte-vector @@ -62,6 +64,7 @@ )
(defun deserialize-from-base64-string (x sc) + "Decode a base64-string using the store controller's deserialize method" (with-buffer-streams (other) (deserialize (elephant-memutil::buffer-write-byte-vector