--- /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$'
+! !
+