package org.molgenis.data.support;
import com.google.common.collect.Lists;
import org.molgenis.data.processor.CellProcessor;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import java.util.Set;
public abstract class FileRepositoryCollection extends AbstractRepositoryCollection
{
/**
* process cells after reading
*/
protected List<CellProcessor> cellProcessors;
private final Set<String> fileNameExtensions;
public FileRepositoryCollection(Set<String> fileNameExtensions, CellProcessor... cellProcessors)
{
if (fileNameExtensions == null) throw new IllegalArgumentException("FileNameExtensions is null");
this.fileNameExtensions = fileNameExtensions;
if (cellProcessors != null)
{
this.cellProcessors = Arrays.asList(cellProcessors);
}
}
/**
* Initialize this file repository collection
*/
public abstract void init() throws IOException;
public Set<String> getFileNameExtensions()
{
return fileNameExtensions;
}
public void addCellProcessor(CellProcessor cellProcessor)
{
if (cellProcessors == null)
{
cellProcessors = Lists.newArrayList();
}
cellProcessors.add(cellProcessor);
}
}