MCFileTreeFileUtils.st
changeset 1084 db46e26093da
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MCFileTreeFileUtils.st	Sat Sep 01 17:31:50 2018 +0200
@@ -0,0 +1,100 @@
+"{ Package: 'stx:goodies/monticello' }"
+
+"{ NameSpace: Smalltalk }"
+
+Object subclass:#MCFileTreeFileUtils
+	instanceVariableNames:''
+	classVariableNames:'Current'
+	poolDictionaries:''
+	category:'SCM-Monticello-FileTree-Core'
+!
+
+MCFileTreeFileUtils comment:'Utility class for file access'
+!
+
+
+!MCFileTreeFileUtils class methodsFor:'initialization'!
+
+install
+    Current := self
+! !
+
+!MCFileTreeFileUtils class methodsFor:'accessing'!
+
+current
+    ^ Current
+! !
+
+!MCFileTreeFileUtils class methodsFor:'utilities'!
+
+buildPathFrom: pathCollection
+    ^ String
+        streamContents: [ :stream | pathCollection do: [ :element | stream nextPutAll: element ] separatedBy: [ stream nextPut: self pathNameDelimiter ] ]
+!
+
+default
+    self subclassResponsibility
+!
+
+deleteAll: aDirectory
+    self subclassResponsibility
+!
+
+directoryExists: aDirectory
+    self subclassResponsibility
+!
+
+directoryFromPath: directoryPath
+    self subclassResponsibility
+!
+
+directoryFromPath: directoryPath relativeTo: aDirectory
+    self subclassResponsibility
+!
+
+directoryName: aDirectory
+    self subclassResponsibility
+!
+
+directoryPathString: aDirectory
+    self subclassResponsibility
+!
+
+ensureDirectoryExists: aDirectory
+    self subclassResponsibility
+!
+
+ensureFilePathExists: fileNameOrPath relativeTo: aDirectory
+    self subclassResponsibility
+!
+
+filePathExists: filePath relativeTo: aDirectory
+    self subclassResponsibility
+!
+
+parentDirectoryOf: aDirectory
+    self subclassResponsibility
+!
+
+pathNameDelimiter
+    self subclassResponsibility
+!
+
+readStreamFor: filePath in: aDirectory do: aBlock
+    self subclassResponsibility
+!
+
+resolvePath: path in: aDirectory
+    self subclassResponsibility
+!
+
+writeStreamFor: filePath in: aDirectory do: aBlock
+    self subclassResponsibility
+! !
+
+!MCFileTreeFileUtils class methodsFor:'documentation'!
+
+version_CVS
+    ^ '$Header$'
+! !
+