Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Application {
- public static void main(String[] args) {
- SimpleObservable observable = new SimpleObservable();
- SimpleObserver observer1 = new SimpleObserver();
- observer1.setName("Observer 1");
- SimpleObserver observer2 = new SimpleObserver();
- observer2.setName("Observer 2");
- observable.addObserver(observer1);
- observable.addObserver(observer2);
- observable.notifyObservers();
- observable.setState("state 1");
- observable.notifyObservers(new ArrayList<>(Arrays.asList("1","3","3","7")));
- observable.setState("state 2");
- observable.notifyObservers(new ArrayList<>(Arrays.asList("1","4","8","8")));
- }
- }
- public class SimpleObservable extends Observable {
- private String state;
- public String getState() {
- return state;
- }
- public void setState(String state) {
- setChanged();
- this.state = state;
- }
- }
- public class SimpleObserver implements Observer {
- private String name;
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- @Override
- public void update(Observable o, Object arg) {
- System.out.println("Observer name: " + this.getName());
- System.out.println("Current state:" + ((SimpleObservable)o).getState()); //так наверное лучше не делать
- System.out.println("Current time:" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(new Date()));
- System.out.println(arg);
- }
- @Override
- public String toString() {
- return "SimpleObserver{" +
- "name='" + name + '\'' +
- '}';
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement