#108 Consistent package naming throughout the examples

This commit is contained in:
Ilkka Seppala
2015-07-24 11:32:22 +03:00
parent af92d8dde5
commit 3d488ec15a
128 changed files with 963 additions and 873 deletions

View File

@ -1,35 +1,35 @@
package com.iluwatar.eventaggregator;
import java.util.ArrayList;
import java.util.List;
/**
*
* The Event Aggregator pattern channels events from multiple objects
* into a single object to simplify registration for clients.
*
* In the example LordBaelish, LordVarys and Scout deliver events to
* KingsHand. KingsHand, the event aggregator, then delivers the events
* to KingJoffrey.
*
*/
public class App {
public static void main(String[] args) {
KingJoffrey kingJoffrey = new KingJoffrey();
KingsHand kingsHand = new KingsHand(kingJoffrey);
List<EventEmitter> emitters = new ArrayList<>();
emitters.add(kingsHand);
emitters.add(new LordBaelish(kingsHand));
emitters.add(new LordVarys(kingsHand));
emitters.add(new Scout(kingsHand));
for (Weekday day: Weekday.values()) {
for (EventEmitter emitter: emitters) {
emitter.timePasses(day);
}
}
}
}
package com.iluwatar.event.aggregator;
import java.util.ArrayList;
import java.util.List;
/**
*
* The Event Aggregator pattern channels events from multiple objects
* into a single object to simplify registration for clients.
*
* In the example LordBaelish, LordVarys and Scout deliver events to
* KingsHand. KingsHand, the event aggregator, then delivers the events
* to KingJoffrey.
*
*/
public class App {
public static void main(String[] args) {
KingJoffrey kingJoffrey = new KingJoffrey();
KingsHand kingsHand = new KingsHand(kingJoffrey);
List<EventEmitter> emitters = new ArrayList<>();
emitters.add(kingsHand);
emitters.add(new LordBaelish(kingsHand));
emitters.add(new LordVarys(kingsHand));
emitters.add(new Scout(kingsHand));
for (Weekday day: Weekday.values()) {
for (EventEmitter emitter: emitters) {
emitter.timePasses(day);
}
}
}
}

View File

@ -1,21 +1,21 @@
package com.iluwatar.eventaggregator;
/**
*
* Event enumeration.
*
*/
public enum Event {
STARK_SIGHTED("Stark sighted"), WARSHIPS_APPROACHING("Warships approaching"), TRAITOR_DETECTED("Traitor detected");
private String description;
Event(String description) {
this.description = description;
}
public String toString() {
return description;
}
}
package com.iluwatar.event.aggregator;
/**
*
* Event enumeration.
*
*/
public enum Event {
STARK_SIGHTED("Stark sighted"), WARSHIPS_APPROACHING("Warships approaching"), TRAITOR_DETECTED("Traitor detected");
private String description;
Event(String description) {
this.description = description;
}
public String toString() {
return description;
}
}

View File

@ -1,35 +1,35 @@
package com.iluwatar.eventaggregator;
import java.util.LinkedList;
import java.util.List;
/**
*
* EventEmitter is the base class for event producers that can be observed.
*
*/
public abstract class EventEmitter {
private List<EventObserver> observers;
public EventEmitter() {
observers = new LinkedList<>();
}
public EventEmitter(EventObserver obs) {
this();
registerObserver(obs);
}
public void registerObserver(EventObserver obs) {
observers.add(obs);
}
protected void notifyObservers(Event e) {
for (EventObserver obs: observers) {
obs.onEvent(e);
}
}
public abstract void timePasses(Weekday day);
}
package com.iluwatar.event.aggregator;
import java.util.LinkedList;
import java.util.List;
/**
*
* EventEmitter is the base class for event producers that can be observed.
*
*/
public abstract class EventEmitter {
private List<EventObserver> observers;
public EventEmitter() {
observers = new LinkedList<>();
}
public EventEmitter(EventObserver obs) {
this();
registerObserver(obs);
}
public void registerObserver(EventObserver obs) {
observers.add(obs);
}
protected void notifyObservers(Event e) {
for (EventObserver obs: observers) {
obs.onEvent(e);
}
}
public abstract void timePasses(Weekday day);
}

View File

@ -1,12 +1,12 @@
package com.iluwatar.eventaggregator;
/**
*
* Observers of events implement this interface.
*
*/
public interface EventObserver {
void onEvent(Event e);
}
package com.iluwatar.event.aggregator;
/**
*
* Observers of events implement this interface.
*
*/
public interface EventObserver {
void onEvent(Event e);
}

View File

@ -1,14 +1,14 @@
package com.iluwatar.eventaggregator;
/**
*
* KingJoffrey observes events from KingsHand.
*
*/
public class KingJoffrey implements EventObserver {
@Override
public void onEvent(Event e) {
System.out.println("Received event from the King's Hand: " + e.toString());
}
}
package com.iluwatar.event.aggregator;
/**
*
* KingJoffrey observes events from KingsHand.
*
*/
public class KingJoffrey implements EventObserver {
@Override
public void onEvent(Event e) {
System.out.println("Received event from the King's Hand: " + e.toString());
}
}

View File

@ -1,28 +1,28 @@
package com.iluwatar.eventaggregator;
/**
*
* KingsHand observes events from multiple sources and delivers them
* to listeners.
*
*/
public class KingsHand extends EventEmitter implements EventObserver {
public KingsHand() {
super();
}
public KingsHand(EventObserver obs) {
super(obs);
}
@Override
public void onEvent(Event e) {
notifyObservers(e);
}
@Override
public void timePasses(Weekday day) {
// NOP
}
}
package com.iluwatar.event.aggregator;
/**
*
* KingsHand observes events from multiple sources and delivers them
* to listeners.
*
*/
public class KingsHand extends EventEmitter implements EventObserver {
public KingsHand() {
super();
}
public KingsHand(EventObserver obs) {
super(obs);
}
@Override
public void onEvent(Event e) {
notifyObservers(e);
}
@Override
public void timePasses(Weekday day) {
// NOP
}
}

View File

@ -1,24 +1,24 @@
package com.iluwatar.eventaggregator;
/**
*
* LordBaelish produces events.
*
*/
public class LordBaelish extends EventEmitter {
public LordBaelish() {
super();
}
public LordBaelish(EventObserver obs) {
super(obs);
}
@Override
public void timePasses(Weekday day) {
if (day.equals(Weekday.FRIDAY)) {
notifyObservers(Event.STARK_SIGHTED);
}
}
}
package com.iluwatar.event.aggregator;
/**
*
* LordBaelish produces events.
*
*/
public class LordBaelish extends EventEmitter {
public LordBaelish() {
super();
}
public LordBaelish(EventObserver obs) {
super(obs);
}
@Override
public void timePasses(Weekday day) {
if (day.equals(Weekday.FRIDAY)) {
notifyObservers(Event.STARK_SIGHTED);
}
}
}

View File

@ -1,24 +1,24 @@
package com.iluwatar.eventaggregator;
/**
*
* LordVarys produces events.
*
*/
public class LordVarys extends EventEmitter {
public LordVarys() {
super();
}
public LordVarys(EventObserver obs) {
super(obs);
}
@Override
public void timePasses(Weekday day) {
if (day.equals(Weekday.SATURDAY)) {
notifyObservers(Event.TRAITOR_DETECTED);
}
}
}
package com.iluwatar.event.aggregator;
/**
*
* LordVarys produces events.
*
*/
public class LordVarys extends EventEmitter {
public LordVarys() {
super();
}
public LordVarys(EventObserver obs) {
super(obs);
}
@Override
public void timePasses(Weekday day) {
if (day.equals(Weekday.SATURDAY)) {
notifyObservers(Event.TRAITOR_DETECTED);
}
}
}

View File

@ -1,24 +1,24 @@
package com.iluwatar.eventaggregator;
/**
*
* Scout produces events.
*
*/
public class Scout extends EventEmitter {
public Scout() {
super();
}
public Scout(EventObserver obs) {
super(obs);
}
@Override
public void timePasses(Weekday day) {
if (day.equals(Weekday.TUESDAY)) {
notifyObservers(Event.WARSHIPS_APPROACHING);
}
}
}
package com.iluwatar.event.aggregator;
/**
*
* Scout produces events.
*
*/
public class Scout extends EventEmitter {
public Scout() {
super();
}
public Scout(EventObserver obs) {
super(obs);
}
@Override
public void timePasses(Weekday day) {
if (day.equals(Weekday.TUESDAY)) {
notifyObservers(Event.WARSHIPS_APPROACHING);
}
}
}

View File

@ -1,16 +1,16 @@
package com.iluwatar.eventaggregator;
public enum Weekday {
MONDAY("Monday"), TUESDAY("Tuesday"), WEDNESDAY("Wednesday"), THURSDAY("Thursday"), FRIDAY("Friday"), SATURDAY("Saturday"), SUNDAY("Sunday");
private String description;
Weekday(String description) {
this.description = description;
}
public String toString() {
return description;
}
}
package com.iluwatar.event.aggregator;
public enum Weekday {
MONDAY("Monday"), TUESDAY("Tuesday"), WEDNESDAY("Wednesday"), THURSDAY("Thursday"), FRIDAY("Friday"), SATURDAY("Saturday"), SUNDAY("Sunday");
private String description;
Weekday(String description) {
this.description = description;
}
public String toString() {
return description;
}
}

View File

@ -1,13 +1,13 @@
package com.iluwatar.eventaggregator;
import org.junit.Test;
import com.iluwatar.eventaggregator.App;
public class AppTest {
@Test
public void test() {
String[] args = {};
App.main(args);
}
}
package com.iluwatar.event.aggregator;
import org.junit.Test;
import com.iluwatar.event.aggregator.App;
public class AppTest {
@Test
public void test() {
String[] args = {};
App.main(args);
}
}