MCFileTreeFileUtils.st
author Claus Gittinger <cg@exept.de>
Sat, 01 Sep 2018 17:32:13 +0200
changeset 1086 efc5221435a5
parent 1084 db46e26093da
permissions -rw-r--r--
initial checkin

"{ 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$'
! !