
package org.apache.metron.dataloads.extractor;

import org.apache.metron.enrichment.lookup.LookupKV;

import java.io.IOException;
import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicReference;

public interface StatefulExtractor extends Extractor {
  Object initializeState(Map<String, Object> config);
  Object mergeStates(List<? extends Object> states);
  Iterable<LookupKV> extract(String line, AtomicReference<Object> state) throws IOException;
}
