1
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 }