Skip to content
Snippets Groups Projects
Commit 60552ca2 authored by Christian Wulf's avatar Christian Wulf
Browse files

added CompositeStage

parent c7f8a527
Branches
Tags
No related merge requests found
#FindBugs User Preferences
#Wed Jan 28 07:11:46 CET 2015
#Mon Feb 02 14:42:51 CET 2015
detector_threshold=3
effort=max
excludefilter0=.fbExcludeFilterFile|true
......
package teetime.framework;
import java.util.Collection;
import java.util.List;
import teetime.framework.signal.ISignal;
import teetime.framework.validation.InvalidPortConnection;
public abstract class CompositeStage extends Stage {
private final Stage firstStage;
private final Collection<Stage> lastStages;
protected CompositeStage(final Stage firstStage, final Collection<Stage> lastStages) {
this.firstStage = firstStage;
this.lastStages = lastStages;
}
@Override
protected void executeWithPorts() {
firstStage.executeWithPorts();
}
@Override
protected void onSignal(final ISignal signal, final InputPort<?> inputPort) {
firstStage.onSignal(signal, inputPort);
}
@Override
protected TerminationStrategy getTerminationStrategy() {
return firstStage.getTerminationStrategy();
}
@Override
protected void terminate() {
firstStage.terminate();
}
@Override
protected boolean shouldBeTerminated() {
return firstStage.shouldBeTerminated();
}
@Override
protected InputPort<?>[] getInputPorts() {
return firstStage.getInputPorts();
}
@Override
public void validateOutputPorts(final List<InvalidPortConnection> invalidPortConnections) {
for (final Stage s : lastStages) {
s.validateOutputPorts(invalidPortConnections);
}
}
@Override
protected boolean isStarted() {
boolean isStarted = true;
for (final Stage s : lastStages) {
isStarted = isStarted && s.isStarted();
}
return isStarted;
}
}
wiki @ 0e447457
Subproject commit a93581905ef7b0584d52eae1898148ffa6201a31
Subproject commit 0e4474577e1f49bc96e734c286b2d9e0363895e8
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment