View Javadoc

1   // BSD License (http://www.galagosearch.org/license)
2   package org.galagosearch.tupleflow.execution;
3   
4   import java.util.ArrayList;
5   import org.galagosearch.tupleflow.IncompatibleProcessorException;
6   import org.galagosearch.tupleflow.Linkage;
7   import org.galagosearch.tupleflow.Processor;
8   import org.galagosearch.tupleflow.Source;
9   import org.galagosearch.tupleflow.Step;
10  
11  /***
12   *
13   * @author trevor
14   */
15  public class Chain {
16      ArrayList<Step> items = new ArrayList();
17  
18      public void add(Step stage) throws IncompatibleProcessorException {
19          if (items.size() > 0) {
20              // is this a ShreddedProcessor?
21              Object previousSource = items.get(items.size() - 1);
22              ((Source) previousSource).setProcessor(stage);
23          }
24  
25          items.add(stage);
26      }
27  
28      public Step getStage() {
29          if (items.size() > 0) {
30              Step first = items.get(0);
31              return first;
32          }
33          return null;
34      }
35  }