View Javadoc

1   // BSD License (http://www.galagosearch.org/license)
2   package org.galagosearch.tupleflow;
3   
4   import java.io.IOException;
5   import java.util.List;
6   
7   /***
8    * @author trevor
9    */
10  public class Multi<T> implements Processor<T> {
11      Processor[] processors;
12  
13      /***
14       * Creates a new instance of Multi
15       */
16      public Multi(Processor[] processors) {
17          this.processors = processors;
18      }
19  
20      public Multi(List<Processor> processors) {
21          this((Processor[]) processors.toArray(new Processor[0]));
22      }
23  
24      @SuppressWarnings("unchecked")
25      public void process(T object) throws IOException {
26          for (Processor processor : processors) {
27              processor.process(object);
28          }
29      }
30  
31      public void close() throws IOException {
32          for (Processor processor : processors) {
33              processor.close();
34          }
35      }
36  }