package fr.openwide.core.imports.table.common.csv.scanner;
import java.io.File;
import java.io.InputStream;
import fr.openwide.core.imports.table.common.event.exception.TableImportException;
import fr.openwide.core.imports.table.common.location.ITableImportNavigator;
public interface ICsvImportFileScanner<TTable, TRow, TCell, TCellReference> {
interface ICsvImportFileVisitor<TTable, TRow, TCell, TCellReference> {
void visitTable(ITableImportNavigator<TTable, TRow, TCell, TCellReference> navigator, TTable sheet) throws TableImportException;
}
void scanRecursively(File file, String filename, ICsvImportFileVisitor<TTable, TRow, TCell, TCellReference> visitor) throws TableImportException;
void scan(File file, String filename, ICsvImportFileVisitor<TTable, TRow, TCell, TCellReference> visitor) throws TableImportException;
void scan(InputStream stream, String filename, ICsvImportFileVisitor<TTable, TRow, TCell, TCellReference> visitor) throws TableImportException;
}