package com.acuitra.pipeline;
import java.util.LinkedList;
public class Pipeline<T,O> {
private LinkedList<Stage<T,O>> stages = new LinkedList<Stage<T,O>>();
public void addStage(Stage<T, O> stage) {
stages.add(stage);
}
public void execute(Context<T,O> ctx) {
for (Stage<T,O> stage : stages) {
stage.loadContext(ctx);
stage.execute();
ctx.addOutput(stage.getKeyName(), stage.getOutput());
}
}
}