MetacelloGroupSpec.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 05 Sep 2012 16:35:54 +0000
changeset 7 759ff40b4754
parent 1 9e312de5f694
permissions -rw-r--r--
- stx_goodies_metacello_stx added: #extensionMethodNames changed: #classNamesAndAttributes #preRequisites
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
9e312de5f694 - Initial commit
jv
parents:
diff changeset
     1
"{ Package: 'stx:goodies/metacello' }"
9e312de5f694 - Initial commit
jv
parents:
diff changeset
     2
9e312de5f694 - Initial commit
jv
parents:
diff changeset
     3
MetacelloAbstractPackageSpec subclass:#MetacelloGroupSpec
9e312de5f694 - Initial commit
jv
parents:
diff changeset
     4
	instanceVariableNames:''
9e312de5f694 - Initial commit
jv
parents:
diff changeset
     5
	classVariableNames:''
9e312de5f694 - Initial commit
jv
parents:
diff changeset
     6
	poolDictionaries:''
9e312de5f694 - Initial commit
jv
parents:
diff changeset
     7
	category:'Metacello-Core-Specs'
9e312de5f694 - Initial commit
jv
parents:
diff changeset
     8
!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
     9
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    10
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    11
!MetacelloGroupSpec methodsFor:'accessing'!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    12
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    13
answers: aListOfPairs
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    14
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    15
	self shouldNotImplement
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    16
!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    17
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    18
requires: aCollection
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    19
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    20
	self shouldNotImplement
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    21
! !
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    22
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    23
!MetacelloGroupSpec methodsFor:'printing'!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    24
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    25
configMethodCascadeOn: aStream member: aMember last: lastCascade indent: indent
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    26
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    27
	aMember methodUpdateSelector == #remove:
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    28
		ifTrue: [ aStream nextPutAll: 'removeGroup: ', self name printString. ]
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    29
		ifFalse: [
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    30
			aStream 
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    31
				nextPutAll: 'group: ', self name printString;
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    32
				space; 
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    33
				nextPutAll: aMember methodUpdateSelector asString, ' #('.
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    34
			self includes do: [:str | aStream nextPutAll: str printString, ' ' ].
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    35
			aStream nextPut: $) ].
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    36
	lastCascade
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    37
		ifTrue: [ aStream nextPut: $. ]
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    38
		ifFalse: [ aStream nextPut: $;; cr ].
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    39
!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    40
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    41
configMethodOn: aStream indent: indent
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    42
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    43
	aStream 
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    44
		tab: indent;
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    45
		nextPutAll: 'spec '; cr;
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    46
		tab: indent + 1;
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    47
		nextPutAll: 'name: ', self name printString, ';'.
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    48
	self configMethodBodyOn: aStream hasName: true cascading: false indent: indent + 1.
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    49
	aStream nextPut: $.
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    50
! !
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    51
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    52
!MetacelloGroupSpec methodsFor:'visiting'!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    53
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    54
projectDo: projectBlock packageDo: packageBlock groupDo: groupBlock
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    55
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    56
	groupBlock value: self
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    57
! !
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    58
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    59
!MetacelloGroupSpec class methodsFor:'documentation'!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    60
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    61
version_SVN
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    62
    ^ '$Id::                                                                                                                        $'
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    63
! !