File tree Expand file tree Collapse file tree 3 files changed +48
-0
lines changed
java8Module/src/main/java/patterns/observer Expand file tree Collapse file tree 3 files changed +48
-0
lines changed Original file line number Diff line number Diff line change 1+ package patterns .observer ;
2+
3+ public class Client {
4+ public static void main (String [] args ) {
5+ DataStore dataStore = new DataStore ();
6+ Screen screen = new Screen ();
7+
8+ // add Observer screen
9+ dataStore .addObserver (screen );
10+
11+ dataStore .setData ("Hi" );
12+ dataStore .notifyObservers ();
13+ dataStore .setData ("Hi1" );
14+ dataStore .notifyObservers ();
15+ dataStore .setData ("Hi2" );
16+ dataStore .setData ("Hi3" );
17+ dataStore .setData ("Hi4" );
18+ dataStore .notifyObservers ();
19+
20+ dataStore .deleteObserver (screen );
21+ }
22+ }
Original file line number Diff line number Diff line change 1+ package patterns .observer ;
2+
3+ import java .util .Observable ;
4+
5+ public class DataStore extends Observable {
6+ private String data ;
7+ public String getData () {
8+ return data ;
9+ }
10+ public void setData (String data ) {
11+ this .data = data ;
12+ //mark the observable as changed
13+ setChanged ();
14+ }
15+ }
Original file line number Diff line number Diff line change 1+ package patterns .observer ;
2+
3+ import java .util .Observable ;
4+ import java .util .Observer ;
5+
6+ public class Screen implements Observer {
7+ @ Override
8+ public void update (Observable o , Object arg ) {
9+ System .out .println ("Changed to " + ((DataStore )o ).getData ());
10+ }
11+ }
You can’t perform that action at this time.
0 commit comments