ObsoleteObject.st
author claus
Fri, 05 Aug 1994 02:55:07 +0200
changeset 92 0c73b48551ac
parent 90 94259bf1f459
child 210 2138d09a96ff
permissions -rw-r--r--
*** empty log message ***

"
 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!