View Javadoc
1   package com.kodexa.client.connectors;
2   
3   import com.kodexa.client.Document;
4   import lombok.NoArgsConstructor;
5   
6   import java.io.InputStream;
7   import java.util.HashMap;
8   import java.util.Map;
9   
10  @NoArgsConstructor
11  public class InputStreamConnector implements Connector {
12  
13      private InputStream inputStream;
14      private boolean empty;
15      private static Map<String, InputStream> cache = new HashMap<>();
16  
17      public InputStreamConnector(InputStream inputStream) {
18          this.inputStream = inputStream;
19          this.empty = false;
20      }
21  
22      @Override
23      public String getName() {
24          return "inputStream";
25      }
26  
27      @Override
28      public InputStream getSource(Document document) {
29          return cache.get(document.getUuid());
30      }
31  
32      @Override
33      public boolean hasNext() {
34          return !empty;
35      }
36  
37      @Override
38      public Document next() {
39          DocumentDocument">Document document = new Document();
40          document.getMetadata().put("connector", getName());
41          cache.put(document.getUuid(), inputStream);
42          empty = true;
43          return document;
44      }
45  }