Merge pull request #10 from mafagafogigante/mafagafo-observer

Changes to the observer pattern
This commit is contained in:
Ilkka Seppälä 2014-10-21 07:45:15 +03:00
commit 9b1c698b34
4 changed files with 7 additions and 22 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 60 KiB

View File

@ -6,8 +6,7 @@ public class Hobbits implements WeatherObserver {
public void update(WeatherType currentWeather) { public void update(WeatherType currentWeather) {
switch (currentWeather) { switch (currentWeather) {
case COLD: case COLD:
System.out System.out.println("The hobbits are shivering in the cold weather.");
.println("The hobbits are shivering in the cold weather.");
break; break;
case RAINY: case RAINY:
System.out.println("The hobbits look for cover from the rain."); System.out.println("The hobbits look for cover from the rain.");
@ -16,8 +15,7 @@ public class Hobbits implements WeatherObserver {
System.out.println("The happy hobbits bade in the warm sun."); System.out.println("The happy hobbits bade in the warm sun.");
break; break;
case WINDY: case WINDY:
System.out System.out.println("The hobbits hold their hats tightly in the windy weather.");
.println("The hobbits hold their hats tightly in the windy weather.");
break; break;
default: default:
break; break;

View File

@ -28,23 +28,9 @@ public class Weather {
} }
public void timePasses() { public void timePasses() {
switch (currentWeather) { WeatherType[] enumValues = WeatherType.values();
case COLD: currentWeather = enumValues[(currentWeather.ordinal() + 1) % enumValues.length];
currentWeather = WeatherType.SUNNY; System.out.println("The weather changed to " + currentWeather + ".");
break;
case RAINY:
currentWeather = WeatherType.WINDY;
break;
case SUNNY:
currentWeather = WeatherType.RAINY;
break;
case WINDY:
currentWeather = WeatherType.COLD;
break;
default:
break;
}
System.out.println("The weather now changes to " + currentWeather);
notifyObservers(); notifyObservers();
} }

View File

@ -4,8 +4,9 @@ public enum WeatherType {
SUNNY, RAINY, WINDY, COLD; SUNNY, RAINY, WINDY, COLD;
@Override
public String toString() { public String toString() {
return this.name().toLowerCase(); return this.name().toLowerCase();
}; }
} }