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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1084
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/monticello' }"
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
"{ NameSpace: Smalltalk }"
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
Object subclass:#MCFileTreeFileUtils
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	instanceVariableNames:''
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	classVariableNames:'Current'
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
	poolDictionaries:''
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
	category:'SCM-Monticello-FileTree-Core'
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
!
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
MCFileTreeFileUtils comment:'Utility class for file access'
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
!
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
!MCFileTreeFileUtils class methodsFor:'initialization'!
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
install
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
    Current := self
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
! !
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
!MCFileTreeFileUtils class methodsFor:'accessing'!
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
current
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
    ^ Current
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
! !
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
!MCFileTreeFileUtils class methodsFor:'utilities'!
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
buildPathFrom: pathCollection
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
    ^ String
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
        streamContents: [ :stream | pathCollection do: [ :element | stream nextPutAll: element ] separatedBy: [ stream nextPut: self pathNameDelimiter ] ]
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
!
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
default
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
    self subclassResponsibility
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
!
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
deleteAll: aDirectory
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
    self subclassResponsibility
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
!
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
directoryExists: aDirectory
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
    self subclassResponsibility
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
!
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
directoryFromPath: directoryPath
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
    self subclassResponsibility
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
!
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
directoryFromPath: directoryPath relativeTo: aDirectory
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
    self subclassResponsibility
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
!
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
directoryName: aDirectory
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
    self subclassResponsibility
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
!
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
directoryPathString: aDirectory
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
    self subclassResponsibility
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
!
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
ensureDirectoryExists: aDirectory
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
    self subclassResponsibility
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
!
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
ensureFilePathExists: fileNameOrPath relativeTo: aDirectory
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
    self subclassResponsibility
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
!
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
filePathExists: filePath relativeTo: aDirectory
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
    self subclassResponsibility
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
!
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
parentDirectoryOf: aDirectory
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
    self subclassResponsibility
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
!
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
pathNameDelimiter
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
    self subclassResponsibility
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
!
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
readStreamFor: filePath in: aDirectory do: aBlock
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
    self subclassResponsibility
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
!
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
resolvePath: path in: aDirectory
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
    self subclassResponsibility
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
!
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
writeStreamFor: filePath in: aDirectory do: aBlock
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
    self subclassResponsibility
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
! !
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
!MCFileTreeFileUtils class methodsFor:'documentation'!
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
version_CVS
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
    ^ '$Header$'
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
! !
db46e26093da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100