groovy-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gerald Wiltse <>
Subject Re: Expando as a Trait?
Date Fri, 18 Mar 2016 16:13:41 GMT
Yes indeed.   Just as Tim posted here, the basics of this functionality can
be manually.

However, his comment points out the fact that groovy expando is a nicely
polished and mature implementation of a dynamic object.

It just seems undesirable to manually add this boilerplate code into every
object I create in the future (where i want dynamic), when traits are so
nice in groovy.

Gerald R. Wiltse

On Fri, Mar 18, 2016 at 12:03 PM, C├ędric Champeau <
> wrote:

> I think what you are suggesting is close to this example in the docs:
> Am I right?
> 2016-03-18 16:51 GMT+01:00 Gerald Wiltse <>:
>> Expando is a pretty cool object. And if we extend it, we get it's really
>> nice "behavior". Unfortunately, as extending = inheritance, thus extending
>> expando precludes us from extending our true parent classes. This is why
>> implementing interfaces and traits is often a better choice than
>> inheriting, especially when one just wants to compose behaviors such as
>> those offered by expando.
>> Which leads me to ask the question: is it crazy to suggest that the body
>> of Expando would actually make a good Trait?   Has this been discussed
>> before?
>> I'm novice so there could be obvious reasons not to do this which I'm not
>> aware of.
>> Gerald R. Wiltse

View raw message