MCDefinitionIndex.st
author Claus Gittinger <cg@exept.de>
Sat, 20 Aug 2011 14:30:54 +0200
changeset 366 653947f4f083
parent 253 210420763f65
child 618 bd4226d917e0
permissions -rw-r--r--
initial checkin
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
63
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/monticello' }"
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
Object subclass:#MCDefinitionIndex
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:'definitions'
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
	classVariableNames:''
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	poolDictionaries:''
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	category:'Monticello-Patching'
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
!
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
253
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    11
!MCDefinitionIndex class methodsFor:'initialization'!
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    12
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    13
new
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    14
    ^self basicNew initialize
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    15
! !
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    16
63
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
!MCDefinitionIndex class methodsFor:'as yet unclassified'!
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
definitions: aCollection
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
	^ self new addAll: aCollection
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
! !
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
!MCDefinitionIndex methodsFor:'as yet unclassified'!
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
add: aDefinition
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
	definitions at: aDefinition description put: aDefinition
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
!
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
addAll: aCollection
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
	aCollection do: [:ea | self add: ea]
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
!
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
definitionLike: aDefinition ifPresent: foundBlock ifAbsent: errorBlock
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
	| definition |
253
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    35
	definition := definitions at: aDefinition description ifAbsent: [].
63
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
	^ definition
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
		ifNil: errorBlock
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
		ifNotNil: [foundBlock value: definition]
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
!
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
definitions
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
	^ definitions values
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
!
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
initialize
253
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    46
	super initialize.
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    47
	definitions := Dictionary new
63
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
!
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
remove: aDefinition
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
	definitions removeKey: aDefinition description ifAbsent: []
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
! !
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
!MCDefinitionIndex class methodsFor:'documentation'!
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
version
366
653947f4f083 initial checkin
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
    57
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCDefinitionIndex.st,v 1.3 2011-08-20 12:30:54 cg Exp $'
253
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    58
!
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    59
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    60
version_CVS
366
653947f4f083 initial checkin
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
    61
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCDefinitionIndex.st,v 1.3 2011-08-20 12:30:54 cg Exp $'
253
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    62
!
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    63
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    64
version_SVN
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    65
    ^ '§Id: MCDefinitionIndex.st 7 2010-09-12 07:18:55Z vranyj1 §'
63
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
! !