package ru.nbch.indicsearchservice.loader;

import java.nio.file.Path;
import java.util.List;
import java.util.Set;
import java.util.UUID;
import ru.nbch.indicsearchservice.model.enums.DataType;
import ru.nbch.indicsearchservice.model.enums.SearchParameter;

public interface TableLoader {
    List<DataType> getSuitableDataTypes();
    List<SearchParameter> getSuitableSearchParameters();
    String getTableName();

    default boolean isSuitableForDataTypeAndSearchParameter(DataType dataType, SearchParameter searchParameter) {
        return getSuitableDataTypes().contains(dataType) && getSuitableSearchParameters().contains(searchParameter);
    }

    Path searchByFid(Set<Integer> fids, UUID taskId);
}
