groovy-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul King <pa...@asert.com.au>
Subject Re: Additional code to be called from TupleConstructor
Date Wed, 06 Jan 2016 23:41:00 GMT
It's a new annotation for 2.5, so you'll need to look in the snapshot docs/zips.

On Thu, Jan 7, 2016 at 9:12 AM, Schalk Cronjé <ysb33r@gmail.com> wrote:
> On 06/01/2016 22:44, Alexander Klein wrote:
>
>
> @TupleConstructor( init={ myInitMethod() } )
> class Example {
>
> I like that idea.
>
>
> On 06/01/2016 22:46, Paul King wrote:
>
> Would something like the "pre" and "post" annotation params from
> MapConstructor work for you?
>
>
> Paul, I tried to look for MapConstructor in the 2.4.5 docs, but could not
> find anything. Is it an annotation?
>
>
> Am 06.01.2016 um 22:55 schrieb Schalk Cronjé:
>
> The following has come up for me in a number of cases. I don't think there
> is any support for it today in Groovy (correct me if I'm wrong, please), but
> I think it could be a useful addition.
>
> I like to do some additional intialisation work once the properties have
> been populated,
>
> class Example {
>   String foo
>   String bar
>
>   Example( Map props = [:] ) {
>     // Do some work here to initialise properties from the supplied map
>
>     // Do some other initialisation work, possibly calling a method in order
> to
>     // initialise private field 'something'
>   }
>
>   private def something
> }
>
> I am a big fan of @TupleConstructor, but it will not work for the above
> case. Here, I am thinking that if one could do something like
>
> @TupleConstructor( init=myInitMethod )
> class Example {
>   String foo
>   String bar
>
>   private void myInitMethod() {
>     // Do more init work in here
>   }
> }
>
> it would be quite useful. I don't know what the limitations are in order to
> implement somethin like this. It's a thought at present...
>
> --
> Schalk W. Cronjé
> Twitter / Ello / Toeter : @ysb33r
>
>
>
>
> --
> Schalk W. Cronjé
> Twitter / Ello / Toeter : @ysb33r

Mime
View raw message