View Javadoc

1   // BSD License (http://www.galagosearch.org/license)
2   
3   package org.galagosearch.tupleflow;
4   
5   import org.galagosearch.tupleflow.execution.ErrorHandler;
6   import org.galagosearch.tupleflow.execution.Verification;
7   import java.io.IOException;
8   
9   /***
10   *
11   * @author trevor
12   */
13  public class NullSource<T> implements ExNihiloSource<T> {
14      public Processor<T> processor;
15      Class<T> outputClass;
16  
17      public NullSource(TupleFlowParameters parameters) throws ClassNotFoundException {
18          String className = parameters.getXML().get("class");
19          this.outputClass = (Class<T>) Class.forName(className);
20      }
21  
22      public NullSource(Class<T> outputClass) {
23          this.outputClass = outputClass;
24      }
25  
26      public static void verify(TupleFlowParameters parameters, ErrorHandler handler) {
27          Verification.requireParameters(new String[]{"class"}, parameters.getXML(), handler);
28          Verification.requireClass(parameters.getXML().get("class"), handler);
29      }
30  
31      public void setProcessor(Step processor) throws IncompatibleProcessorException {
32          Linkage.link(this, processor);
33      }
34  
35      public void run() throws IOException {
36          processor.close();
37      }
38  
39      public static String getOutputClass(TupleFlowParameters parameters) {
40          return parameters.getXML().get("class", "");
41      }
42  }