summaryrefslogtreecommitdiff
path: root/src/com/benburwell/planes/sbs/AggregateDataSource.java
diff options
context:
space:
mode:
authorBen Burwell <ben.burwell@trifecta.com>2016-11-15 21:30:47 -0500
committerBen Burwell <ben.burwell@trifecta.com>2016-11-15 21:30:47 -0500
commite2ae5749a522b0d4d2657a2cac571b1524d33cfa (patch)
tree8aeef9c33256ed76e783c0de7ace5f35296b99f5 /src/com/benburwell/planes/sbs/AggregateDataSource.java
Initial commit
Diffstat (limited to 'src/com/benburwell/planes/sbs/AggregateDataSource.java')
-rw-r--r--src/com/benburwell/planes/sbs/AggregateDataSource.java23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/com/benburwell/planes/sbs/AggregateDataSource.java b/src/com/benburwell/planes/sbs/AggregateDataSource.java
new file mode 100644
index 0000000..08b89ea
--- /dev/null
+++ b/src/com/benburwell/planes/sbs/AggregateDataSource.java
@@ -0,0 +1,23 @@
+package com.benburwell.planes.sbs;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by ben on 11/15/16.
+ */
+public class AggregateDataSource implements DataSource {
+ private List<DataListener> subscribers = new ArrayList<>();
+
+ public void addSource(DataSource source) {
+ source.subscribe((SBSPacket packet) -> {
+ for (DataListener listener : subscribers) {
+ listener.handleMessage(packet);
+ }
+ });
+ }
+
+ public void subscribe(DataListener listener) {
+ this.subscribers.add(listener);
+ }
+}