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 }