RGTraitDescriptionDefinition.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 02 Sep 2015 18:29:03 +0100
changeset 5 5cc2caa88b23
parent 0 43cb9f3e345e
permissions -rw-r--r--
SOme fixes in containes

"{ Package: 'stx:goodies/ring' }"

"{ NameSpace: Smalltalk }"

RGBehaviorDefinition subclass:#RGTraitDescriptionDefinition
	instanceVariableNames:'users'
	classVariableNames:''
	poolDictionaries:''
	category:'Ring-Core-Kernel'
!

RGTraitDescriptionDefinition comment:'RGTraitDescriptionDefinition is the common parent for traits and metatraits that know their users (ie. classes/metaclasses)'
!

!RGTraitDescriptionDefinition methodsFor:'accessing'!

traitUsers
    "Retrieves the receiver's classes and traits"
    
    ^users ifNil:[ users := OrderedCollection new ]
!

traitUsers: aCollection

    users:= aCollection
!

users
    "Retrieves the receiver's classes and traits"
    
    ^users ifNil:[ users := OrderedCollection new ]
!

users: aCollection

    users:= aCollection
! !

!RGTraitDescriptionDefinition methodsFor:'adding/removing users'!

addUser: aRGBehavior

    self users add: aRGBehavior
!

removeUser: aRGBehavior

    self users remove: aRGBehavior ifAbsent:[]
! !

!RGTraitDescriptionDefinition methodsFor:'testing'!

isTrait

    ^true
! !

!RGTraitDescriptionDefinition methodsFor:'variables'!

allClassVarNames

    ^#()
!

allInstVarNames

    ^#()
!

allSharedPoolNames

    ^#()
! !