All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.exasol.adapter.document.files.CsvFilesDocumentFetcherFactory Maven / Gradle / Ivy

There is a newer version: 8.1.3
Show newest version
package com.exasol.adapter.document.files;

import java.util.List;

import com.exasol.adapter.document.documentfetcher.files.csv.CsvDocumentFetcher;
import com.exasol.adapter.document.documentfetcher.files.csv.CsvSchemaFetcher;
import com.exasol.adapter.document.queryplanning.RemoteTableQuery;

/**
 * Factory for {@link FileTypeSpecificDocumentFetcher}.
 */
public class CsvFilesDocumentFetcherFactory implements FileTypeSpecificDocumentFetcherFactoryInterface {

    @Override
    public FileTypeSpecificDocumentFetcher buildFileTypeSpecificDocumentFetcher(
            final RemoteTableQuery remoteTableQuery) {
        return new CsvDocumentFetcher(remoteTableQuery.getFromTable().getColumns());
    }

    @Override
    public List getSupportedFileExtensions() {
        return List.of(".csv");
    }

    @Override
    public FileTypeSpecificSchemaFetcher buildFileTypeSpecificMappingFetcher() {
        return FileTypeSpecificSchemaFetcher.singleFile(new CsvSchemaFetcher());
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy