MCVersionInfoWriter.st
author Claus Gittinger <cg@exept.de>
Wed, 22 Nov 2006 14:05:22 +0100
changeset 36 66bb19317c8c
child 140 a09c40ff0e93
permissions -rw-r--r--
initial checkin
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
36
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/monticello' }"
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
MCWriter subclass:#MCVersionInfoWriter
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:'written'
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
	classVariableNames:''
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	poolDictionaries:''
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	category:'Monticello-Storing'
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
!
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
!MCVersionInfoWriter methodsFor:'as yet unclassified'!
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
isWritten: aVersionInfo
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
	^ self written includes: aVersionInfo
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
!
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
writeVersionInfo: aVersionInfo
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	(self isWritten: aVersionInfo)
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
		ifTrue: [^ stream nextPutAll: '(id ', aVersionInfo id asString printString, ')'].
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
	stream nextPut: $(.
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
	#(name message id date time author) 
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
		do: [:sel | 
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
			stream nextPutAll: sel.
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
			stream nextPut: $ .
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
			((aVersionInfo perform: sel) ifNil: ['']) asString printOn: stream.
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
			stream nextPut: $ ].
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
	stream nextPutAll: 'ancestors ('.
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
	aVersionInfo ancestors do: [:ea | self writeVersionInfo: ea].
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
	stream nextPutAll: ') stepChildren ('.
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
	aVersionInfo stepChildren do: [:ea | self writeVersionInfo: ea].
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
	stream nextPutAll: '))'.
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
	self wrote: aVersionInfo
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
!
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
written
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
	^ written ifNil: [written _ Set new]
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
!
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
wrote: aVersionInfo
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
	self written add: aVersionInfo
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
! !
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
!MCVersionInfoWriter class methodsFor:'documentation'!
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
version
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCVersionInfoWriter.st,v 1.1 2006-11-22 13:05:22 cg Exp $'
66bb19317c8c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
! !