AutoDeletedFilename.st
author Stefan Vogel <sv@exept.de>
Thu, 16 Apr 2015 18:28:45 +0200
branchexpecco_2_7_5
changeset 18220 361e98951d47
parent 16550 4bda4424570d
child 18120 e3a375d5f6a8
child 18632 5f99981d6418
permissions -rw-r--r--
Add methods for backward compatibilty with older sublasses
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10847
2f39b0b6f4e6 copyright
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
     1
"
2f39b0b6f4e6 copyright
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
     2
 COPYRIGHT (c) 2007 by eXept Software AG
2f39b0b6f4e6 copyright
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
     3
              All Rights Reserved
2f39b0b6f4e6 copyright
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
     4
2f39b0b6f4e6 copyright
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
     5
 This software is furnished under a license and may be used
2f39b0b6f4e6 copyright
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
     6
 only in accordance with the terms of that license and with the
2f39b0b6f4e6 copyright
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
2f39b0b6f4e6 copyright
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
     8
 be provided or otherwise made available to, or used by, any
2f39b0b6f4e6 copyright
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
     9
 other person.  No title to or ownership of the software is
2f39b0b6f4e6 copyright
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
    10
 hereby transferred.
2f39b0b6f4e6 copyright
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
    11
"
10761
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
"{ Package: 'stx:libbasic' }"
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
Filename subclass:#AutoDeletedFilename
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
	instanceVariableNames:''
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
	classVariableNames:''
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
	poolDictionaries:''
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	category:'System-Support'
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
!
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
!AutoDeletedFilename class methodsFor:'documentation'!
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
10847
2f39b0b6f4e6 copyright
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
    23
copyright
2f39b0b6f4e6 copyright
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
    24
"
2f39b0b6f4e6 copyright
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
    25
 COPYRIGHT (c) 2007 by eXept Software AG
2f39b0b6f4e6 copyright
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
    26
              All Rights Reserved
2f39b0b6f4e6 copyright
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
    27
2f39b0b6f4e6 copyright
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
    28
 This software is furnished under a license and may be used
2f39b0b6f4e6 copyright
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
    29
 only in accordance with the terms of that license and with the
2f39b0b6f4e6 copyright
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
    30
 inclusion of the above copyright notice.   This software may not
2f39b0b6f4e6 copyright
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
    31
 be provided or otherwise made available to, or used by, any
2f39b0b6f4e6 copyright
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
    32
 other person.  No title to or ownership of the software is
2f39b0b6f4e6 copyright
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
    33
 hereby transferred.
2f39b0b6f4e6 copyright
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
    34
"
2f39b0b6f4e6 copyright
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
    35
!
2f39b0b6f4e6 copyright
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
    36
10761
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
documentation
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
"
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
    Used with temporary files - these will automatically delete themself,
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
    when no longer referenced.
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
    See -> Filename asAutoDeletedFilename
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
"
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
!
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
examples
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
"
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
    the following file will be automatically deleted after some time:
10931
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
    48
                                                    [exBegin]
10761
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
    |f p|
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
15247
be9fd0956f80 class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 14507
diff changeset
    51
    f := AutoDeletedFilename newTemporary.
10761
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
    f writeStream
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
        nextPutLine:'hello';
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
        close.
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
    p := f pathName.
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
    Transcript showCR:p.
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
    f := f asAutoDeletedFilename.
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
    self assert:(p asFilename exists).
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
    ObjectMemory collectGarbage.
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
    Delay waitForSeconds:2.
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
    self assert:(p asFilename exists).
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
    f := nil.
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
    ObjectMemory collectGarbage.
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
    Delay waitForSeconds:2.
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
    self assert:(p asFilename exists not).
10931
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
    66
                                                    [exEnd]
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
    67
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
    68
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
    69
    you can also delete it manually:
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
    70
                                                    [exBegin]
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
    71
    |f p|
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
    72
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
    73
    f := Filename newTemporary.
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
    74
    f writeStream
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
    75
        nextPutLine:'hello';
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
    76
        close.
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
    77
    p := f pathName.
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
    78
    Transcript showCR:p.
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
    79
    f := f asAutoDeletedFilename.
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
    80
    self assert:(p asFilename exists).
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
    81
    ObjectMemory collectGarbage.
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
    82
    Delay waitForSeconds:2.
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
    83
    self assert:(p asFilename exists).
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
    84
    f remove.
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
    85
    f := nil.
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
    86
    ObjectMemory collectGarbage.
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
    87
    Delay waitForSeconds:2.
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
    88
    self assert:(p asFilename exists not).
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
    89
                                                    [exEnd]
10761
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
"
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
! !
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
!AutoDeletedFilename methodsFor:'accessing'!
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
15470
492825160f68 class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15247
diff changeset
    95
keep
492825160f68 class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15247
diff changeset
    96
    "do not delete the file on finalization"
492825160f68 class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15247
diff changeset
    97
492825160f68 class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15247
diff changeset
    98
    self unregisterForFinalization
492825160f68 class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15247
diff changeset
    99
!
492825160f68 class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15247
diff changeset
   100
492825160f68 class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15247
diff changeset
   101
setName:aString
492825160f68 class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15247
diff changeset
   102
    super setName:aString.
492825160f68 class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15247
diff changeset
   103
    self registerForFinalization    
492825160f68 class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15247
diff changeset
   104
! !
492825160f68 class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15247
diff changeset
   105
492825160f68 class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15247
diff changeset
   106
!AutoDeletedFilename methodsFor:'copying'!
492825160f68 class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15247
diff changeset
   107
492825160f68 class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15247
diff changeset
   108
shallowCopy
492825160f68 class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15247
diff changeset
   109
    "when copying, return a real filename
492825160f68 class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15247
diff changeset
   110
     (to avoid mutiple removals)"
492825160f68 class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15247
diff changeset
   111
15810
fabc99a4a88a class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15470
diff changeset
   112
    ^ self species named:nameString
15470
492825160f68 class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15247
diff changeset
   113
492825160f68 class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15247
diff changeset
   114
    "
492825160f68 class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15247
diff changeset
   115
        'blaFaselQall.mist' asFilename asAutoDeletedFilename copy
492825160f68 class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15247
diff changeset
   116
    "
492825160f68 class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15247
diff changeset
   117
! !
492825160f68 class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15247
diff changeset
   118
492825160f68 class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15247
diff changeset
   119
!AutoDeletedFilename methodsFor:'finalization'!
492825160f68 class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15247
diff changeset
   120
492825160f68 class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15247
diff changeset
   121
executor
492825160f68 class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15247
diff changeset
   122
    ^ self class basicNew nameString:nameString
492825160f68 class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15247
diff changeset
   123
!
492825160f68 class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15247
diff changeset
   124
10761
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
finalize
11780
f7543590f82a recursive remove directories when finalizing
Stefan Vogel <sv@exept.de>
parents: 10931
diff changeset
   126
    |linkInfo|
f7543590f82a recursive remove directories when finalizing
Stefan Vogel <sv@exept.de>
parents: 10931
diff changeset
   127
16550
4bda4424570d class: AutoDeletedFilename
Claus Gittinger <cg@exept.de>
parents: 15810
diff changeset
   128
    "/ do this in a forked process to avoid blocking
4bda4424570d class: AutoDeletedFilename
Claus Gittinger <cg@exept.de>
parents: 15810
diff changeset
   129
    "/ in case of an autodeleted remote file of a broken connection
4bda4424570d class: AutoDeletedFilename
Claus Gittinger <cg@exept.de>
parents: 15810
diff changeset
   130
    [
4bda4424570d class: AutoDeletedFilename
Claus Gittinger <cg@exept.de>
parents: 15810
diff changeset
   131
        "/ with timeout to avoid waiting forever
4bda4424570d class: AutoDeletedFilename
Claus Gittinger <cg@exept.de>
parents: 15810
diff changeset
   132
        [
4bda4424570d class: AutoDeletedFilename
Claus Gittinger <cg@exept.de>
parents: 15810
diff changeset
   133
            linkInfo := self linkInfo.
4bda4424570d class: AutoDeletedFilename
Claus Gittinger <cg@exept.de>
parents: 15810
diff changeset
   134
            linkInfo notNil ifTrue:[
4bda4424570d class: AutoDeletedFilename
Claus Gittinger <cg@exept.de>
parents: 15810
diff changeset
   135
                linkInfo isDirectory ifTrue:[
4bda4424570d class: AutoDeletedFilename
Claus Gittinger <cg@exept.de>
parents: 15810
diff changeset
   136
                    super recursiveRemove
4bda4424570d class: AutoDeletedFilename
Claus Gittinger <cg@exept.de>
parents: 15810
diff changeset
   137
                ] ifFalse:[
4bda4424570d class: AutoDeletedFilename
Claus Gittinger <cg@exept.de>
parents: 15810
diff changeset
   138
                    super removeFile.
4bda4424570d class: AutoDeletedFilename
Claus Gittinger <cg@exept.de>
parents: 15810
diff changeset
   139
                ].
4bda4424570d class: AutoDeletedFilename
Claus Gittinger <cg@exept.de>
parents: 15810
diff changeset
   140
            ].
4bda4424570d class: AutoDeletedFilename
Claus Gittinger <cg@exept.de>
parents: 15810
diff changeset
   141
        ] valueWithTimeout:1 minutes.
4bda4424570d class: AutoDeletedFilename
Claus Gittinger <cg@exept.de>
parents: 15810
diff changeset
   142
    ] fork.
10761
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
! !
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
15810
fabc99a4a88a class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15470
diff changeset
   145
!AutoDeletedFilename methodsFor:'queries'!
fabc99a4a88a class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15470
diff changeset
   146
fabc99a4a88a class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15470
diff changeset
   147
species
fabc99a4a88a class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15470
diff changeset
   148
    "filenames derived from me should not be autodeleted themself"
fabc99a4a88a class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15470
diff changeset
   149
fabc99a4a88a class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15470
diff changeset
   150
    ^ Filename concreteClass.
fabc99a4a88a class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15470
diff changeset
   151
! !
fabc99a4a88a class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 15470
diff changeset
   152
10931
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
   153
!AutoDeletedFilename methodsFor:'removing'!
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
   154
11780
f7543590f82a recursive remove directories when finalizing
Stefan Vogel <sv@exept.de>
parents: 10931
diff changeset
   155
recursiveRemove
f7543590f82a recursive remove directories when finalizing
Stefan Vogel <sv@exept.de>
parents: 10931
diff changeset
   156
    super recursiveRemove.
f7543590f82a recursive remove directories when finalizing
Stefan Vogel <sv@exept.de>
parents: 10931
diff changeset
   157
    self unregisterForFinalization
f7543590f82a recursive remove directories when finalizing
Stefan Vogel <sv@exept.de>
parents: 10931
diff changeset
   158
!
f7543590f82a recursive remove directories when finalizing
Stefan Vogel <sv@exept.de>
parents: 10931
diff changeset
   159
10931
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
   160
remove
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
   161
    super remove.
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
   162
    self unregisterForFinalization
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
   163
!
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
   164
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
   165
removeDirectory
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
   166
    super removeDirectory.
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
   167
    self unregisterForFinalization
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
   168
!
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
   169
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
   170
removeFile
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
   171
    super removeFile.
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
   172
    self unregisterForFinalization
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
   173
! !
54107ed355be unregister from finalizatioin when deleting explicitly
Stefan Vogel <sv@exept.de>
parents: 10847
diff changeset
   174
10761
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
!AutoDeletedFilename class methodsFor:'documentation'!
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
version
16550
4bda4424570d class: AutoDeletedFilename
Claus Gittinger <cg@exept.de>
parents: 15810
diff changeset
   178
    ^ '$Header: /cvs/stx/stx/libbasic/AutoDeletedFilename.st,v 1.12 2014-06-07 15:08:38 cg Exp $'
10761
6a63674a5cb1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
! !
15247
be9fd0956f80 class: AutoDeletedFilename
Stefan Vogel <sv@exept.de>
parents: 14507
diff changeset
   180