"{ Package: 'stx:goodies/monticello' }"
MCDefinition subclass:#MCOrganizationDefinition
instanceVariableNames:'categories'
classVariableNames:''
poolDictionaries:''
category:'Monticello-Modeling'
!
!MCOrganizationDefinition class methodsFor:'as yet unclassified'!
categories: anArray
^ self instanceLike: (self new categories: anArray)
! !
!MCOrganizationDefinition methodsFor:'as yet unclassified'!
= aDefinition
^ (super = aDefinition)
and: [categories = aDefinition categories]
!
accept: aVisitor
^ aVisitor visitOrganizationDefinition: self
!
categories
^ categories
!
categories: anArray
categories _ anArray
!
commonPrefix
| stream |
categories isEmpty ifTrue: [^ ''].
stream _ String new writeStream.
categories first withIndexDo:
[:c :i|
categories do:
[:ea |
(ea at: i ifAbsent: []) = c ifFalse: [^ stream contents]].
stream nextPut: c].
^ stream contents
!
description
^ Array with: #organization with: self commonPrefix
!
isOrganizationDefinition
^ true
!
postloadOver: oldDefinition
SystemOrganization categories:
(self
reorderCategories: SystemOrganization categories
original: (oldDefinition ifNil: [#()] ifNotNil: [oldDefinition categories]))
!
reorderCategories: allCategories original: oldCategories
| first |
first _ allCategories detect: [:ea | categories includes: ea] ifNone: [^ allCategories].
^ ((allCategories copyUpTo: first) copyWithoutAll: oldCategories, categories),
categories,
((allCategories copyAfter: first) copyWithoutAll: oldCategories, categories)
!
sortKey
^ '<organization>'
!
source
^ String streamContents:
[:s |
categories do: [:ea | s nextPutAll: ea] separatedBy: [s cr]]
!
summary
^ categories asArray printString
! !
!MCOrganizationDefinition class methodsFor:'documentation'!
version
^ '$Header: /cvs/stx/stx/goodies/monticello/MCOrganizationDefinition.st,v 1.1 2006-11-22 13:09:41 cg Exp $'
! !