package fr.openwide.core.imports.table.common.excel.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 IExcelImportFileScanner<TWorkbook, TSheet, TRow, TCell, TCellReference> {
enum SheetSelection {
ALL,
NON_HIDDEN_ONLY
}
interface IExcelImportFileVisitor<TWorkbook, TSheet, TRow, TCell, TCellReference> {
void visitSheet(ITableImportNavigator<TSheet, TRow, TCell, TCellReference> navigator, TWorkbook workbook, TSheet sheet) throws TableImportException;
}
void scanRecursively(File file, String filename, SheetSelection selection, IExcelImportFileVisitor<TWorkbook, TSheet, TRow, TCell, TCellReference> visitor) throws TableImportException;
void scan(File file, String filename, SheetSelection selection, IExcelImportFileVisitor<TWorkbook, TSheet, TRow, TCell, TCellReference> visitor) throws TableImportException;
void scan(InputStream stream, String filename, SheetSelection selection, IExcelImportFileVisitor<TWorkbook, TSheet, TRow, TCell, TCellReference> visitor) throws TableImportException;
}