AutoDeletedFilename.st
changeset 15470 492825160f68
parent 15247 be9fd0956f80
child 15810 fabc99a4a88a
child 18071 009cf668b0ed
--- a/AutoDeletedFilename.st	Fri Jul 05 13:29:42 2013 +0200
+++ b/AutoDeletedFilename.st	Fri Jul 05 14:32:08 2013 +0200
@@ -92,9 +92,37 @@
 
 !AutoDeletedFilename methodsFor:'accessing'!
 
+keep
+    "do not delete the file on finalization"
+
+    self unregisterForFinalization
+!
+
+setName:aString
+    super setName:aString.
+    self registerForFinalization    
+! !
+
+!AutoDeletedFilename methodsFor:'copying'!
+
+shallowCopy
+    "when copying, return a real filename
+     (to avoid mutiple removals)"
+
+    ^ Filename named:nameString
+
+    "
+        'blaFaselQall.mist' asFilename asAutoDeletedFilename copy
+    "
+! !
+
+!AutoDeletedFilename methodsFor:'finalization'!
+
+executor
+    ^ self class basicNew nameString:nameString
+!
+
 finalize
-"/    Transcript showCR:'AutoDeletedFilename: deleting ', self pathName.
-
     |linkInfo|
 
     linkInfo := self linkInfo.
@@ -105,11 +133,6 @@
             super removeFile.
         ].
     ].
-!
-
-setName:aString
-    super setName:aString.
-    self registerForFinalization    
 ! !
 
 !AutoDeletedFilename methodsFor:'removing'!
@@ -137,6 +160,6 @@
 !AutoDeletedFilename class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/AutoDeletedFilename.st,v 1.9 2013-05-15 10:25:11 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/AutoDeletedFilename.st,v 1.10 2013-07-05 12:32:08 stefan Exp $'
 ! !