Solved

How can I achieve this?

Posted on 2004-04-25
5
186 Views
Last Modified: 2010-03-31
I have a class "task", which has a method called "evaluate()". When this method is called and there is a state change, this Task will notify other Tasks. (The other tasks would in turn evaluate and notify some other tasks if evaluation return true).

my preliminary idea is to use thread's notification methods. But is there any other easier or more neat way to accomplish this?

thanks.
0
Comment
Question by:ggyao2003
5 Comments
 
LVL 9

Accepted Solution

by:
mmuruganandam earned 125 total points
ID: 10915942
You have Observer and Observable

Have a look at this... for more information..

http://www.javaworld.com/javaworld/jw-10-1996/jw-10-howto.html
0
 
LVL 13

Expert Comment

by:Webstorm
ID: 10916600
Hi ggyao2003,

You can define a listener interface, for example:

    public interface TaskListener
    {
         public void notifiedByTask(Task source  /* , ... other needed parameters */ );
    }

And implements this interface in your task class:

    public class Task
    implements TaskListener
    {
          public void notifiedByTask(Task source  /* , ... other needed parameters */ )
          {
              ...
          }

          private Vector listeners=new Vectors(); // keep listener references

          public void addTaskListener(TaskListener tl)
          {
                if (!listeners.contains(tl)) listeners.add(tl);
          }

          public void removeTaskListener(TaskListener tl)
          {
                listeners.remove(tl);
          }

          private void notifyListeners()
          {
                int nb=listeners.size();
                for (int i=0;i<nb;i++)
                      ( (TaskListener)listeners.elementAt(i) ).notifiedByTask(this, ... );
          }
    }


0
 
LVL 23

Expert Comment

by:rama_krishna580
ID: 10916671
try here you will get lot of stuff...

http://venus.cs.depaul.edu/Java/chap08.html

R.K
0
 

Author Comment

by:ggyao2003
ID: 10922643
webstorm's advice is the easiest to implement in my case. It is really really simple.
thanks.
0
 

Author Comment

by:ggyao2003
ID: 10922672
oops...
I made a mistake in my previous post. It should be "mmuruganandam" instead of "webstorm".
But webstorm did gave a great suggestion!
0

Featured Post

Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

Join & Write a Comment

For customizing the look of your lightweight component and making it look lucid like it was made of glass. Or: how to make your component more Apple-ish ;) This tip assumes your component to be of rectangular shape and completely opaque. (COD…
INTRODUCTION Working with files is a moderately common task in Java.  For most projects hard coding the file names, using parameters in configuration files, or using command-line arguments is sufficient.   However, when your application has vi…
Viewers learn about the third conditional statement “else if” and use it in an example program. Then additional information about conditional statements is provided, covering the topic thoroughly. Viewers learn about the third conditional statement …
Viewers will learn about if statements in Java and their use The if statement: The condition required to create an if statement: Variations of if statements: An example using if statements:

743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now