--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Obsolete.st Thu Jun 02 21:18:43 1994 +0200
@@ -0,0 +1,83 @@
+"
+ COPYRIGHT (c) 1994 by Claus Gittinger
+ All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice. This software may not
+ be provided or otherwise made available to, or used by, any
+ other person. No title to or ownership of the software is
+ hereby transferred.
+"
+
+Object subclass:#ObsoleteObject
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ category:'System-Support'
+!
+
+ObsoleteObject comment:'
+COPYRIGHT (c) 1994 by Claus Gittinger
+ All Rights Reserved
+'!
+
+!ObsoleteObject class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 1994 by Claus Gittinger
+ All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice. This software may not
+ be provided or otherwise made available to, or used by, any
+ other person. No title to or ownership of the software is
+ hereby transferred.
+"
+!
+
+version
+"
+$Header: /cvs/stx/stx/libbasic/Attic/Obsolete.st,v 1.1 1994-06-02 19:18:43 claus Exp $
+"
+!
+
+documentation
+"
+ This class is used for error handling during binary object restoration.
+ Whenever an object whose class has changed (i.e. it was stored with a
+ 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..
+
+ After the creation of the obsolete object, a signal will be raised (in
+ BinaryInputManager), which can be cought by the application to try some
+ automatic or semi-automatic object conversion.
+ The signal gets the obsolete object and the new class as parameters.
+
+ ObsoleteObject itself catches all messages, to avoid any use of the restored
+ object.
+"
+! !
+
+!ObsoleteObject class methodsFor:'initialization'!
+
+initialize
+ self setSuperclass:nil
+! !
+
+!ObsoleteObject methodsFor:'message catching'!
+
+doesNotUnderstand: aMessage
+ "the only thing obsolete objects understand is that they dont understand
+ anything."
+
+ ^ Object messageNotUnderstoodSignal
+ raiseRequestWith:aMessage
+ errorString:'Message not understood: ' , aMessage selector
+! !
+
+ObsoleteObject initialize!
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ObsoleteObject.st Thu Jun 02 21:18:43 1994 +0200
@@ -0,0 +1,83 @@
+"
+ COPYRIGHT (c) 1994 by Claus Gittinger
+ All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice. This software may not
+ be provided or otherwise made available to, or used by, any
+ other person. No title to or ownership of the software is
+ hereby transferred.
+"
+
+Object subclass:#ObsoleteObject
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ category:'System-Support'
+!
+
+ObsoleteObject comment:'
+COPYRIGHT (c) 1994 by Claus Gittinger
+ All Rights Reserved
+'!
+
+!ObsoleteObject class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 1994 by Claus Gittinger
+ All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice. This software may not
+ be provided or otherwise made available to, or used by, any
+ other person. No title to or ownership of the software is
+ hereby transferred.
+"
+!
+
+version
+"
+$Header: /cvs/stx/stx/libbasic/Attic/ObsoleteObject.st,v 1.1 1994-06-02 19:18:43 claus Exp $
+"
+!
+
+documentation
+"
+ This class is used for error handling during binary object restoration.
+ Whenever an object whose class has changed (i.e. it was stored with a
+ 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..
+
+ After the creation of the obsolete object, a signal will be raised (in
+ BinaryInputManager), which can be cought by the application to try some
+ automatic or semi-automatic object conversion.
+ The signal gets the obsolete object and the new class as parameters.
+
+ ObsoleteObject itself catches all messages, to avoid any use of the restored
+ object.
+"
+! !
+
+!ObsoleteObject class methodsFor:'initialization'!
+
+initialize
+ self setSuperclass:nil
+! !
+
+!ObsoleteObject methodsFor:'message catching'!
+
+doesNotUnderstand: aMessage
+ "the only thing obsolete objects understand is that they dont understand
+ anything."
+
+ ^ Object messageNotUnderstoodSignal
+ raiseRequestWith:aMessage
+ errorString:'Message not understood: ' , aMessage selector
+! !
+
+ObsoleteObject initialize!