Win a copy of Think Java: How to Think Like a Computer Scientist this week in the Java in General forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

callback implementation

 
sen kumar
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
how to implement callback methods in java
 
Maulin Vasavada
Ranch Hand
Posts: 1873
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
hi sen
We can see the use of callbacks in Java event model where objects registers themselves as Listeners and gets notified when the event occurs. That is a kind of Callback only I would say.
Also, you can look for Observer and Observable classes which are also callback examples.
You can refer to the site - http://www.dickbaldwin.com/java/Java077.htm
to see a possible approach for implementing callbacks.
To me callbacks can be simply implemented by the same logic the event model uses with 'registering' listeners and make observer and observable objects follow some interface so we can call callback methods.
Now, if we are coming from C background then callbacks are really simple out there. Just cast funtion pointer to unsigned int if you will and it will work.
If we want to have a callback mechanism where we wouldn't like to make the called back object follow some interface and have ability to pass the method name as string while registering the callback then we would endup using Reflection to invoke the method when the callback needs to take place...
Hope I didn't confuse you.
Regards
Maulin
 
Stan James
(instanceof Sidekick)
Ranch Hand
Posts: 8791
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I find Observer and Observable overly complicated. I wrote my own base publisher class that adds and removes subscribers and requires me to hand-code the actual messaging methods like this:

A simple call to myPublisher.myMethod() gets forwarded to all subscribers.
The publisher and subscribers both implement an interface that defines the events or methods that can occur. Note that this lets me fire any method on subscribers, pass any parameters, and even make use of return values if I want to.
My Messaging Patterns page has a section on Pub-Sub that shows a couple variations.
Hope that helps!
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic