Guest User

Untitled

a guest
Jul 20th, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.66 KB | None | 0 0
  1. MessageCallback callback = new MessageCallback() {
  2. @Override
  3. public void onMessage(Message message) {
  4. dosomething();
  5. }
  6. };
  7.  
  8. def callback = [ onMessage:{ message -> doSomething() } ] as MessageCallback
  9.  
  10. // Dummy class for testing
  11. abstract class MessageTest {
  12. abstract void onMessage( msg ) ;
  13. void done() { println "DONE!" }
  14. }
  15.  
  16. // Create a Proxied instance of our class, with an empty onMessage method
  17. def p = [ onMessage:{ msg -> } ] as MessageTest
  18.  
  19. // Then overwrite the method once we have access to the Proxy object p
  20. p.metaClass.onMessage = { msg -> println msg ; p.done() }
  21.  
  22. // Test
  23. p.onMessage( 'woo' )
Add Comment
Please, Sign In to add comment