imdb-spider/core/src/main/java/ru/bvn13/imdbspider/spider/api/ApiFactory.java

36 lines
1.2 KiB
Java

package ru.bvn13.imdbspider.spider.api;
import ru.bvn13.imdbspider.exceptions.ImdbSpiderException;
import ru.bvn13.imdbspider.exceptions.api.DataTypeNotSupportedException;
import ru.bvn13.imdbspider.imdb.DataType;
import ru.bvn13.imdbspider.imdb.ImdbObject;
import ru.bvn13.imdbspider.imdb.MovieDataType;
import ru.bvn13.imdbspider.spider.tasker.Task;
import java.util.Arrays;
import java.util.EnumSet;
import java.util.List;
/**
* @author boyko_vn at 09.01.2019
*/
public interface ApiFactory {
List<Task> createTasksForSearchMovieByTitle(String title, int maxCount, EnumSet<MovieDataType> dataTypes) throws ImdbSpiderException;
default List<Task> createTasksForSearchMovieByTitle(String title, int maxCount, MovieDataType... dataTypes) throws ImdbSpiderException {
return createTasksForSearchMovieByTitle(title, maxCount, EnumSet.copyOf(Arrays.asList(dataTypes)));
}
Task taskByDataType(DataType dataType) throws DataTypeNotSupportedException;
void fillUpImdbObject(ImdbObject imdbObject, Task task);
EnumSet<MovieDataType> getDefaultMovieDataTypeSet();
void setMovieDataTypeSet(EnumSet<MovieDataType> movieDataTypeSet);
EnumSet<MovieDataType> getMovieDataTypeSet();
}