观察和通知

时间:2012-06-16 10:08:53

标签: java

我必须实施通知服务,并发送一条包含有关音乐的新内容的消息。

    public class FilterByMusic implements Observer {

    private String music;
    private Observable observe;

    public FilterByMusic(String music, Observable observe) {
        this.music = music;
        this.observe = observe;
    }

    @Override
    public void update(Observable o, Object arg) {
        System.out.println(arg);
    }
}

我创建了另一个使用此方法扩展Observable的类

    public void newMusicNotify() {
    //new music here.. 
    this.setChanged();
    this.notifyObservers(music);
    }

因此,如果有新音乐,它会通知所有观察该对象的观察者。但是现在我想要一个过滤器,它只向观察者发送一条消息,如果它是由我在FilterByMusic作为参数的特定音乐发送的。我有一个想要通知所有新音乐的观察者和一个只想要特定音乐的观察者(因为他不喜欢各种音乐)我该怎么做?

感谢所有帮助人员!

2 个答案:

答案 0 :(得分:0)

如果您希望多个Observable使用某种Container Map(例如map["rockObserver"]),请使用update(Observable o, Object arg)方法switch使用{ {1}}取决于music

答案 1 :(得分:-1)

我建议不要使用Java的观察者界面,而是自己做。这样,您将更加灵活。