From 46bc60f72d81388cf552bc96e3696ec66dbb43d1 Mon Sep 17 00:00:00 2001
From: Christian Wulf <chw@informatik.uni-kiel.de>
Date: Tue, 3 Mar 2015 09:42:03 +0100
Subject: [PATCH] added basic generic stages to extend from (will replace
 AbstractProducer/ConsumerStage)

---
 .../teetime/stage/basic/AbstractFilter.java   |  8 +++++
 .../stage/basic/AbstractTransform.java        | 17 +++++++++++
 .../teetime/stage/basic/AbstractTrigger.java  | 29 +++++++++++++++++++
 src/site/markdown/wiki                        |  2 +-
 4 files changed, 55 insertions(+), 1 deletion(-)
 create mode 100644 src/main/java/teetime/stage/basic/AbstractFilter.java
 create mode 100644 src/main/java/teetime/stage/basic/AbstractTransform.java
 create mode 100644 src/main/java/teetime/stage/basic/AbstractTrigger.java

diff --git a/src/main/java/teetime/stage/basic/AbstractFilter.java b/src/main/java/teetime/stage/basic/AbstractFilter.java
new file mode 100644
index 00000000..7a0e1188
--- /dev/null
+++ b/src/main/java/teetime/stage/basic/AbstractFilter.java
@@ -0,0 +1,8 @@
+package teetime.stage.basic;
+
+public abstract class AbstractFilter<E> extends AbstractTransform<E, E> {
+
+	protected AbstractFilter() {
+		super();
+	}
+}
diff --git a/src/main/java/teetime/stage/basic/AbstractTransform.java b/src/main/java/teetime/stage/basic/AbstractTransform.java
new file mode 100644
index 00000000..7b489292
--- /dev/null
+++ b/src/main/java/teetime/stage/basic/AbstractTransform.java
@@ -0,0 +1,17 @@
+package teetime.stage.basic;
+
+import teetime.framework.AbstractConsumerStage;
+import teetime.framework.OutputPort;
+
+public abstract class AbstractTransform<I, O> extends AbstractConsumerStage<I> {
+
+	private final OutputPort<O> outputPort = createOutputPort();
+
+	protected AbstractTransform() {
+		super();
+	}
+
+	public OutputPort<O> getOutputPort() {
+		return outputPort;
+	}
+}
diff --git a/src/main/java/teetime/stage/basic/AbstractTrigger.java b/src/main/java/teetime/stage/basic/AbstractTrigger.java
new file mode 100644
index 00000000..7d528929
--- /dev/null
+++ b/src/main/java/teetime/stage/basic/AbstractTrigger.java
@@ -0,0 +1,29 @@
+package teetime.stage.basic;
+
+import teetime.framework.AbstractStage;
+import teetime.framework.InputPort;
+import teetime.framework.OutputPort;
+
+abstract class AbstractTrigger<I, T, O> extends AbstractStage {
+
+	private final InputPort<I> inputPort = createInputPort();
+	private final InputPort<T> triggerInputPort = createInputPort();
+	private final OutputPort<O> outputPort = createOutputPort();
+
+	protected AbstractTrigger() {
+		super();
+	}
+
+	@Override
+	protected void executeWithPorts() {
+		// TODO Auto-generated method stub
+
+	}
+
+	@Override
+	public void onTerminating() throws Exception {
+		// TODO Auto-generated method stub
+		super.onTerminating();
+	}
+
+}
diff --git a/src/site/markdown/wiki b/src/site/markdown/wiki
index 63ccbbc8..0e447457 160000
--- a/src/site/markdown/wiki
+++ b/src/site/markdown/wiki
@@ -1 +1 @@
-Subproject commit 63ccbbc87bd2c0e6599ca91502149dba3cfb99de
+Subproject commit 0e4474577e1f49bc96e734c286b2d9e0363895e8
-- 
GitLab