From 1cb0af33f603cacfaf8353e11629532aaceed65f Mon Sep 17 00:00:00 2001
From: Nelson Tavares de Sousa <ntd@informatik.uni-kiel.de>
Date: Wed, 18 Feb 2015 17:00:17 +0100
Subject: [PATCH] #70 all classes are declared as final, where possible

---
 src/main/java/teetime/framework/Analysis.java |  2 +-
 .../framework/AnalysisConfiguration.java      |  2 +-
 .../pipe/CommittablePipeFactory.java          |  2 +-
 .../pipe/CouldNotFindPipeImplException.java   |  2 +-
 .../pipe/OrderedGrowableArrayPipeFactory.java |  2 +-
 .../pipe/SingleElementPipeFactory.java        |  2 +-
 .../framework/pipe/SpScPipeFactory.java       |  2 +-
 .../pipe/UnorderedGrowablePipeFactory.java    |  2 +-
 .../framework/signal/StartingSignal.java      |  2 +-
 .../framework/signal/TerminatingSignal.java   |  2 +-
 .../framework/signal/ValidatingSignal.java    |  2 +-
 .../teetime/framework/pipe/DummyFactory.java  | 32 +++++++++++++++++--
 12 files changed, 40 insertions(+), 14 deletions(-)

diff --git a/src/main/java/teetime/framework/Analysis.java b/src/main/java/teetime/framework/Analysis.java
index 4f8c403d..899ac7fa 100644
--- a/src/main/java/teetime/framework/Analysis.java
+++ b/src/main/java/teetime/framework/Analysis.java
@@ -35,7 +35,7 @@ import teetime.util.Pair;
  * To start the analysis {@link #init()} and {@link #start()} need to be executed in this order.
  * This class will automatically create threads and join them without any further commitment.
  */
-public class Analysis implements UncaughtExceptionHandler {
+public final class Analysis implements UncaughtExceptionHandler {
 
 	private static final Logger LOGGER = LoggerFactory.getLogger(Analysis.class);
 
diff --git a/src/main/java/teetime/framework/AnalysisConfiguration.java b/src/main/java/teetime/framework/AnalysisConfiguration.java
index 62909734..ef5ae8a4 100644
--- a/src/main/java/teetime/framework/AnalysisConfiguration.java
+++ b/src/main/java/teetime/framework/AnalysisConfiguration.java
@@ -24,7 +24,7 @@ import teetime.framework.pipe.PipeFactoryRegistry;
  * Represents a configuration of connected stages, which is needed to run a analysis.
  * Stages can be added by executing {@link #addThreadableStage(Stage)}.
  */
-public class AnalysisConfiguration {
+public abstract class AnalysisConfiguration {
 
 	protected static final PipeFactoryRegistry PIPE_FACTORY_REGISTRY = PipeFactoryRegistry.INSTANCE;
 	private final List<Stage> threadableStageJobs = new LinkedList<Stage>();
diff --git a/src/main/java/teetime/framework/pipe/CommittablePipeFactory.java b/src/main/java/teetime/framework/pipe/CommittablePipeFactory.java
index 52f70fc1..85bb67e7 100644
--- a/src/main/java/teetime/framework/pipe/CommittablePipeFactory.java
+++ b/src/main/java/teetime/framework/pipe/CommittablePipeFactory.java
@@ -20,7 +20,7 @@ import teetime.framework.OutputPort;
 import teetime.framework.pipe.PipeFactoryRegistry.PipeOrdering;
 import teetime.framework.pipe.PipeFactoryRegistry.ThreadCommunication;
 
-public class CommittablePipeFactory implements IPipeFactory {
+public final class CommittablePipeFactory implements IPipeFactory {
 
 	@Override
 	public <T> IPipe create(final OutputPort<? extends T> sourcePort, final InputPort<T> targetPort) {
diff --git a/src/main/java/teetime/framework/pipe/CouldNotFindPipeImplException.java b/src/main/java/teetime/framework/pipe/CouldNotFindPipeImplException.java
index 6ea8d759..6f2f1ee6 100644
--- a/src/main/java/teetime/framework/pipe/CouldNotFindPipeImplException.java
+++ b/src/main/java/teetime/framework/pipe/CouldNotFindPipeImplException.java
@@ -15,7 +15,7 @@
  */
 package teetime.framework.pipe;
 
-public class CouldNotFindPipeImplException extends RuntimeException {
+public final class CouldNotFindPipeImplException extends RuntimeException {
 
 	private static final long serialVersionUID = 5242260988104493402L;
 
diff --git a/src/main/java/teetime/framework/pipe/OrderedGrowableArrayPipeFactory.java b/src/main/java/teetime/framework/pipe/OrderedGrowableArrayPipeFactory.java
index 21a88a9c..bd65862f 100644
--- a/src/main/java/teetime/framework/pipe/OrderedGrowableArrayPipeFactory.java
+++ b/src/main/java/teetime/framework/pipe/OrderedGrowableArrayPipeFactory.java
@@ -20,7 +20,7 @@ import teetime.framework.OutputPort;
 import teetime.framework.pipe.PipeFactoryRegistry.PipeOrdering;
 import teetime.framework.pipe.PipeFactoryRegistry.ThreadCommunication;
 
-public class OrderedGrowableArrayPipeFactory implements IPipeFactory {
+public final class OrderedGrowableArrayPipeFactory implements IPipeFactory {
 
 	@Override
 	public <T> IPipe create(final OutputPort<? extends T> sourcePort, final InputPort<T> targetPort) {
diff --git a/src/main/java/teetime/framework/pipe/SingleElementPipeFactory.java b/src/main/java/teetime/framework/pipe/SingleElementPipeFactory.java
index 830a25d1..e8a1a7af 100644
--- a/src/main/java/teetime/framework/pipe/SingleElementPipeFactory.java
+++ b/src/main/java/teetime/framework/pipe/SingleElementPipeFactory.java
@@ -20,7 +20,7 @@ import teetime.framework.OutputPort;
 import teetime.framework.pipe.PipeFactoryRegistry.PipeOrdering;
 import teetime.framework.pipe.PipeFactoryRegistry.ThreadCommunication;
 
-public class SingleElementPipeFactory implements IPipeFactory {
+public final class SingleElementPipeFactory implements IPipeFactory {
 
 	@Override
 	public <T> IPipe create(final OutputPort<? extends T> sourcePort, final InputPort<T> targetPort) {
diff --git a/src/main/java/teetime/framework/pipe/SpScPipeFactory.java b/src/main/java/teetime/framework/pipe/SpScPipeFactory.java
index 035d789d..d36f76b3 100644
--- a/src/main/java/teetime/framework/pipe/SpScPipeFactory.java
+++ b/src/main/java/teetime/framework/pipe/SpScPipeFactory.java
@@ -20,7 +20,7 @@ import teetime.framework.OutputPort;
 import teetime.framework.pipe.PipeFactoryRegistry.PipeOrdering;
 import teetime.framework.pipe.PipeFactoryRegistry.ThreadCommunication;
 
-public class SpScPipeFactory implements IPipeFactory {
+public final class SpScPipeFactory implements IPipeFactory {
 
 	@Override
 	public <T> IPipe create(final OutputPort<? extends T> sourcePort, final InputPort<T> targetPort) {
diff --git a/src/main/java/teetime/framework/pipe/UnorderedGrowablePipeFactory.java b/src/main/java/teetime/framework/pipe/UnorderedGrowablePipeFactory.java
index 9eb081c9..a3d1c802 100644
--- a/src/main/java/teetime/framework/pipe/UnorderedGrowablePipeFactory.java
+++ b/src/main/java/teetime/framework/pipe/UnorderedGrowablePipeFactory.java
@@ -20,7 +20,7 @@ import teetime.framework.OutputPort;
 import teetime.framework.pipe.PipeFactoryRegistry.PipeOrdering;
 import teetime.framework.pipe.PipeFactoryRegistry.ThreadCommunication;
 
-public class UnorderedGrowablePipeFactory implements IPipeFactory {
+public final class UnorderedGrowablePipeFactory implements IPipeFactory {
 
 	@Override
 	public <T> IPipe create(final OutputPort<? extends T> sourcePort, final InputPort<T> targetPort) {
diff --git a/src/main/java/teetime/framework/signal/StartingSignal.java b/src/main/java/teetime/framework/signal/StartingSignal.java
index 5e10fcc0..646443be 100644
--- a/src/main/java/teetime/framework/signal/StartingSignal.java
+++ b/src/main/java/teetime/framework/signal/StartingSignal.java
@@ -23,7 +23,7 @@ import org.slf4j.LoggerFactory;
 
 import teetime.framework.AbstractStage;
 
-public class StartingSignal implements ISignal {
+public final class StartingSignal implements ISignal {
 
 	private static final Logger LOGGER = LoggerFactory.getLogger(StartingSignal.class);
 	private final List<Exception> catchedExceptions = new LinkedList<Exception>();
diff --git a/src/main/java/teetime/framework/signal/TerminatingSignal.java b/src/main/java/teetime/framework/signal/TerminatingSignal.java
index 52d5be48..d43f21f3 100644
--- a/src/main/java/teetime/framework/signal/TerminatingSignal.java
+++ b/src/main/java/teetime/framework/signal/TerminatingSignal.java
@@ -23,7 +23,7 @@ import org.slf4j.LoggerFactory;
 
 import teetime.framework.AbstractStage;
 
-public class TerminatingSignal implements ISignal {
+public final class TerminatingSignal implements ISignal {
 
 	private static final Logger LOGGER = LoggerFactory.getLogger(TerminatingSignal.class);
 	private final List<Exception> catchedExceptions = new LinkedList<Exception>();
diff --git a/src/main/java/teetime/framework/signal/ValidatingSignal.java b/src/main/java/teetime/framework/signal/ValidatingSignal.java
index e351cbac..51757ca2 100644
--- a/src/main/java/teetime/framework/signal/ValidatingSignal.java
+++ b/src/main/java/teetime/framework/signal/ValidatingSignal.java
@@ -21,7 +21,7 @@ import java.util.List;
 import teetime.framework.AbstractStage;
 import teetime.framework.validation.InvalidPortConnection;
 
-public class ValidatingSignal implements ISignal {
+public final class ValidatingSignal implements ISignal {
 
 	private final List<InvalidPortConnection> invalidPortConnections = new LinkedList<InvalidPortConnection>();
 
diff --git a/src/test/java/teetime/framework/pipe/DummyFactory.java b/src/test/java/teetime/framework/pipe/DummyFactory.java
index 3db1330b..4d2b328c 100644
--- a/src/test/java/teetime/framework/pipe/DummyFactory.java
+++ b/src/test/java/teetime/framework/pipe/DummyFactory.java
@@ -15,10 +15,36 @@
  */
 package teetime.framework.pipe;
 
-public class DummyFactory extends SpScPipeFactory {
+import teetime.framework.InputPort;
+import teetime.framework.OutputPort;
+import teetime.framework.pipe.PipeFactoryRegistry.PipeOrdering;
+import teetime.framework.pipe.PipeFactoryRegistry.ThreadCommunication;
 
-	public DummyFactory() {
-		super();
+public final class DummyFactory implements IPipeFactory {
+
+	@Override
+	public <T> IPipe create(final OutputPort<? extends T> sourcePort, final InputPort<T> targetPort) {
+		return this.create(sourcePort, targetPort, 4);
+	}
+
+	@Override
+	public <T> IPipe create(final OutputPort<? extends T> sourcePort, final InputPort<T> targetPort, final int capacity) {
+		return new SpScPipe(sourcePort, targetPort, capacity);
+	}
+
+	@Override
+	public ThreadCommunication getThreadCommunication() {
+		return ThreadCommunication.INTER;
+	}
+
+	@Override
+	public PipeOrdering getOrdering() {
+		return PipeOrdering.QUEUE_BASED;
+	}
+
+	@Override
+	public boolean isGrowable() {
+		return false;
 	}
 
 }
-- 
GitLab