my dog learned polymorphism
The moose likes Java in General and the fly likes callback implementation Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Java in General
Bookmark "callback implementation" Watch "callback implementation" New topic

callback implementation

sen kumar

Joined: Aug 28, 2003
Posts: 1
how to implement callback methods in java
Maulin Vasavada
Ranch Hand

Joined: Nov 04, 2001
Posts: 1873
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 -
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.
Stan James
(instanceof Sidekick)
Ranch Hand

Joined: Jan 29, 2003
Posts: 8791
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!

A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi
I agree. Here's the link:
subject: callback implementation
It's not a secret anymore!