ValueHolder.st
branchjv
changeset 4468 ddc891549ca7
parent 3707 baba86518fd9
equal deleted inserted replaced
4467:c53481fc4cb4 4468:ddc891549ca7
   107     "return a new ValueHolder holding an empty string as initial value"
   107     "return a new ValueHolder holding an empty string as initial value"
   108 
   108 
   109     ^ self with:''
   109     ^ self with:''
   110 !
   110 !
   111 
   111 
       
   112 newWithDependent:aDependent
       
   113     self == ValueHolder ifTrue:[
       
   114         ^ self new setDependents:aDependent
       
   115     ] ifFalse:[
       
   116         ^ self new addDependent:aDependent
       
   117     ].
       
   118 !
       
   119 
   112 with:anObject
   120 with:anObject
   113     "return a new ValueHolder holding anObject as initial value"
   121     "return a new ValueHolder holding anObject as initial value"
   114 
   122 
   115     ^ (super new) setValue:anObject
   123     ^ (super new) setValue:anObject
   116 ! !
   124 ! !
   117 
   125 
   118 !ValueHolder methodsFor:'accessing'!
   126 !ValueHolder methodsFor:'accessing'!
       
   127 
       
   128 setDependents:aCollectionOrDependentOrNil
       
   129     "private for initialization only"
       
   130 
       
   131     dependents := aCollectionOrDependentOrNil.
       
   132 !
   119 
   133 
   120 setValue:anObject
   134 setValue:anObject
   121     "set my value without notification."
   135     "set my value without notification."
   122 
   136 
   123     value := anObject.
   137     value := anObject.