*** empty log message ***
authorClaus Gittinger <cg@exept.de>
Sun, 02 Nov 1997 18:47:04 +0100
changeset 3080 e150501c9c60
parent 3079 f177f98675c2
child 3081 4cd54c54ed78
*** empty log message ***
Obsolete.st
ObsoleteObject.st
--- a/Obsolete.st	Sun Nov 02 18:46:54 1997 +0100
+++ b/Obsolete.st	Sun Nov 02 18:47:04 1997 +0100
@@ -10,8 +10,6 @@
  hereby transferred.
 "
 
-'From Smalltalk/X, Version:3.1.10 on 20-sep-1997 at 11:57:37 pm'                !
-
 nil subclass:#ObsoleteObject
 	instanceVariableNames:''
 	classVariableNames:'ObsoleteObjectSignal'
@@ -42,16 +40,26 @@
     different layout/size) is about to be restored, it cannot be made an 
     instance of the now existing class.
     In this case, the BinaryInputManager will create a dummy class for the 
-    old (obsolete) object. This dummy class will be a subclass of ObsoleteObject.
+    old (obsolete) object and make the restored object an instance of it. 
+    This dummy class will be a subclass of ObsoleteObject.
+    Thus, the restored obsolete object will (at least) provide the data
+    (i.e. the contents) of the original object - although it will obviously
+    not be able to implement the original protocol.
 
     After the creation of the obsolete object, a signal will be raised (in 
-    BinaryInputManager), which can be caught by the application to try some 
-    automatic or semi-automatic object conversion.
-    The signal gets the obsolete object and the new class as parameters.
+    BinaryInputManager), which can be caught by the application to provide
+    a replacement class and/or to try some automatic or semi-automatic object 
+    conversion.
+    The signal gets the obsolete object and the new class as parameters, so
+    a handler can extract instance values from the obsolete object and construct a
+    replacement object from those.
 
     ObsoleteObject itself catches all messages, to avoid any use of the restored
     object (in case conversion failed or the signal was ignored).
 
+    Read the documentatio on binary object storage for examples & code fragments,
+    on obsolete object handling and object migration.
+
     [author:]
         Claus Gittinger
 
@@ -124,7 +132,12 @@
 basicInspect
     "this method is required to allow inspection of the object"
 
-    ^ Inspector openOn:self
+    ^ (Object compiledMethodAt:#basicInspect)
+        valueWithReceiver:self
+        arguments:nil
+        selector:#basicInspect
+
+    "Modified: / 30.10.1997 / 14:16:45 / cg"
 !
 
 basicSize
@@ -193,7 +206,12 @@
 inspect
     "this method is required to allow inspection of the object"
 
-    ^ Inspector openOn:self
+    ^ (Object compiledMethodAt:#inspect)
+        valueWithReceiver:self
+        arguments:nil
+        selector:#inspect
+
+    "Modified: / 30.10.1997 / 14:16:33 / cg"
 !
 
 instVarAt:index
@@ -236,6 +254,6 @@
 !ObsoleteObject class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Obsolete.st,v 1.16 1997-09-20 21:06:34 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Obsolete.st,v 1.17 1997-11-02 17:47:04 cg Exp $'
 ! !
 ObsoleteObject initialize!
--- a/ObsoleteObject.st	Sun Nov 02 18:46:54 1997 +0100
+++ b/ObsoleteObject.st	Sun Nov 02 18:47:04 1997 +0100
@@ -10,8 +10,6 @@
  hereby transferred.
 "
 
-'From Smalltalk/X, Version:3.1.10 on 20-sep-1997 at 11:57:37 pm'                !
-
 nil subclass:#ObsoleteObject
 	instanceVariableNames:''
 	classVariableNames:'ObsoleteObjectSignal'
@@ -42,16 +40,26 @@
     different layout/size) is about to be restored, it cannot be made an 
     instance of the now existing class.
     In this case, the BinaryInputManager will create a dummy class for the 
-    old (obsolete) object. This dummy class will be a subclass of ObsoleteObject.
+    old (obsolete) object and make the restored object an instance of it. 
+    This dummy class will be a subclass of ObsoleteObject.
+    Thus, the restored obsolete object will (at least) provide the data
+    (i.e. the contents) of the original object - although it will obviously
+    not be able to implement the original protocol.
 
     After the creation of the obsolete object, a signal will be raised (in 
-    BinaryInputManager), which can be caught by the application to try some 
-    automatic or semi-automatic object conversion.
-    The signal gets the obsolete object and the new class as parameters.
+    BinaryInputManager), which can be caught by the application to provide
+    a replacement class and/or to try some automatic or semi-automatic object 
+    conversion.
+    The signal gets the obsolete object and the new class as parameters, so
+    a handler can extract instance values from the obsolete object and construct a
+    replacement object from those.
 
     ObsoleteObject itself catches all messages, to avoid any use of the restored
     object (in case conversion failed or the signal was ignored).
 
+    Read the documentatio on binary object storage for examples & code fragments,
+    on obsolete object handling and object migration.
+
     [author:]
         Claus Gittinger
 
@@ -124,7 +132,12 @@
 basicInspect
     "this method is required to allow inspection of the object"
 
-    ^ Inspector openOn:self
+    ^ (Object compiledMethodAt:#basicInspect)
+        valueWithReceiver:self
+        arguments:nil
+        selector:#basicInspect
+
+    "Modified: / 30.10.1997 / 14:16:45 / cg"
 !
 
 basicSize
@@ -193,7 +206,12 @@
 inspect
     "this method is required to allow inspection of the object"
 
-    ^ Inspector openOn:self
+    ^ (Object compiledMethodAt:#inspect)
+        valueWithReceiver:self
+        arguments:nil
+        selector:#inspect
+
+    "Modified: / 30.10.1997 / 14:16:33 / cg"
 !
 
 instVarAt:index
@@ -236,6 +254,6 @@
 !ObsoleteObject class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Attic/ObsoleteObject.st,v 1.16 1997-09-20 21:06:34 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/ObsoleteObject.st,v 1.17 1997-11-02 17:47:04 cg Exp $'
 ! !
 ObsoleteObject initialize!