[Chandler-dev] empty value report (perf)
Grant Baillie
grant at osafoundation.org
Fri Jan 19 13:15:52 PST 2007
On 19 Jan, 2007, at 11:42, Andi Vajda wrote:
> On Fri, 19 Jan 2007, Grant Baillie wrote:
>
> ...
>
>> Anyway, is there a way to have the best of 1) and 2)? i.e. have
>> something that behaved like defaultValue=[], until you tried to
>> modify the collection? i.e. in code:
>>
>> >>> class MyItem(schema.Item):
>> ... myAttr = schema.Sequence(schema.Item, magicValue=[])
>> ...
>> >>> x = MyItem(...)
>> >>> list(x.myAttr)
>> []
>> >>> x.hasLocalAttributeValue('myAttr')
>> False
>> >>> x.myAttr.add(x)
>> >>> x.hasLocalAttributeValue('myAttr')
>> True
>> >>> x.myAttr.first()
>> <MyItem ....>
>
> I sure could add something like that beyond what I described above.
> Have a sort of Nil value that knows what to do when one attempts to
> append to it.
>
>> In fact, shouldn't all many-valued attributes behave this way?
>
> That could be useful in many cases, yes.
>
> Is what we're discussing here something I should implement now or
> are we just discussing various ideas, nice-to-haves ?
>
> Personally, I have no objections to implementing these now.
I was just tossing around ideas, but if they're implementable and
make sense, I'd say go for it!
Also, if anyone has objections, squeak up soon :)
--Grant
More information about the chandler-dev
mailing list