Sunday, March 18, 2018

Groovy - @Delegate

Groovy supports the @Delegate annotation.

With this annotation we can import all the methods of the class the annotation is used for.

class Phone {
    def dial(String number"dialing $number" }
}

class Camera {
    def takePicture("taking picture" }
}

class SmartPhone {
    @Delegate Phone phone new Phone()
    @Delegate Camera camera new Camera()
}

SmartPhone sp new SmartPhone()

println sp.dial('555-1234')
println sp.takePicture()

assert sp.dial('555-1234'== 'dialing 555-1234'
assert sp.takePicture(== 'taking picture'


Output of Script

 315 ms
dialing 555-1234
taking picture



No comments:

Post a Comment

உப்பு மாங்காய்

சுருக்குப்பை கிழவி. சுருக்கங்கள் சூழ் கிழவி. பார்க்கும் போதெல்லாம் கூடையுடனே குடியிருப்பாள். கூடை நிறைய குட்டி குட்டி மாங்காய்கள். வெட்டிக்க...