package de.uni_luebeck.inb.krabbenhoeft.eQTL.server; import java.io.Serializable; import java.util.ArrayList; import java.util.List; import de.uni_luebeck.inb.krabbenhoeft.eQTL.entities.ColumnForDataSetLayer; import de.uni_luebeck.inb.krabbenhoeft.eQTL.entities.ProcessingParameters; public interface DataSetProcessor { public List<ColumnForDataSetLayer> getDataTypeAfterTransformation(List<ColumnForDataSetLayer> dataTypeBeforeTransformation); public int getPreferredItemsPerProcessor(); public int getPreferredNumberOfParallelRunningProcessors(); public static class ProcessingResult implements Serializable { private static final long serialVersionUID = 1L; public int numberOfItemsEmitted = -1; public List<ColumnForDataSetLayer> columnDefinitions = new ArrayList<ColumnForDataSetLayer>(); } // sourceParallelBlockIdMin inclusive, -Max exclusive public ProcessingResult process(ProcessingParameters parameterObject); }