"{ Package: 'stx:goodies/monticello' }"
MCRepository subclass:#MCDictionaryRepository
instanceVariableNames:'description dict'
classVariableNames:''
poolDictionaries:''
category:'SCM-Monticello-Repositories'
!
!MCDictionaryRepository class methodsFor:'initialization'!
new
^self basicNew initialize
! !
!MCDictionaryRepository methodsFor:'as yet unclassified'!
= other
^ self == other
!
allVersionInfos
^ dict values collect: [:ea | ea info]
!
basicStoreVersion: aVersion
dict at: aVersion info put: aVersion
!
closestAncestorVersionFor: anAncestry ifNone: errorBlock
| info |
info := anAncestry breadthFirstAncestors
detect: [:ea | self includesVersionWithInfo: ea]
ifNone: [^ errorBlock value].
^ self versionWithInfo: info
!
description
^ description ifNil: ['cache']
!
description: aString
description := aString
!
dictionary
^ dict
!
dictionary: aDictionary
dict := aDictionary
!
includesVersionNamed: aString
^ dict anySatisfy: [:ea | ea info name = aString]
!
includesVersionWithInfo: aVersionInfo
^ dict includesKey: aVersionInfo
!
initialize
super initialize.
dict := Dictionary new.
!
sortedVersionInfos
| sorter |
sorter := MCVersionSorter new.
self allVersionInfos do: [:ea | sorter addVersionInfo: ea].
^ sorter sortedVersionInfos
!
versionWithInfo: aVersionInfo ifAbsent: errorBlock
^ dict at: aVersionInfo ifAbsent: errorBlock
! !
!MCDictionaryRepository class methodsFor:'documentation'!
version
^ '$Header: /cvs/stx/stx/goodies/monticello/MCDictionaryRepository.st,v 1.4 2012-09-11 21:21:28 cg Exp $'
!
version_CVS
^ '$Header: /cvs/stx/stx/goodies/monticello/MCDictionaryRepository.st,v 1.4 2012-09-11 21:21:28 cg Exp $'
!
version_SVN
^ '§Id: MCDictionaryRepository.st 7 2010-09-12 07:18:55Z vranyj1 §'
! !