groovy-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dinko Srkoč <dinko.sr...@gmail.com>
Subject Re: Get delegate in an ExtensionModule
Date Fri, 04 Dec 2015 11:00:58 GMT
On 4 December 2015 at 11:41, Arnaud Estève <arnaud.esteve@gmail.com> wrote:
> [...]
> Just a question (pure curiosity) though, what happens when many jars
> register many extension modules on the same type/method, and you embed both
> the jars ?

I would assume one would win and shadow the other. Sounds like a nice
experiment. ;-)

Cheers,
Dinko

>
> On Fri, Dec 4, 2015 at 11:18 AM, Dinko Srkoč <dinko.srkoc@gmail.com> wrote:
>>
>> Just forward the call to the original `asType` method:
>>
>>   org.codehaus.groovy.runtime.StringGroovyMethods.asType(self, someClass)
>>
>> Cheers,
>> Dinko
>>
>> On 4 December 2015 at 10:16, Arnaud Estève <arnaud.esteve@gmail.com>
>> wrote:
>> > Hello,
>> >
>> > I'm currently playing with extension modules and congrats, it's very fun
>> > to
>> > add syntaxic sugar to an existing API.
>> >
>> > I was wondering if it was possible to delegate to the "super" method
>> > within
>> > an extension module.
>> >
>> > For instance, let's imagine I want to overload String's asType() method
>> > :
>> >
>> > class MyStringExtension {
>> >   static Object asType(String self, Class someClass) {
>> >     if (myClass = SomethingICanHandler.class) {
>> >       // create an object from my string
>> >     } else {
>> >       // Here I'd like to "delegate" to the default String asType()
>> > method
>> >     }
>> >   }
>> > }
>> >
>> > With metaclass it would be easy, but is it even possible (and does it
>> > make
>> > sense ?) to do so with an extension module ?
>> >
>> > Thanks a lot :)
>> >
>
>

Mime
View raw message