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

36 lines
1.2 KiB
Java
Raw Normal View History

2019-01-09 17:57:37 +03:00
package ru.bvn13.imdbspider.spider.api;
import ru.bvn13.imdbspider.exceptions.ImdbSpiderException;
2019-01-09 17:57:37 +03:00
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;
2019-01-09 17:57:37 +03:00
import ru.bvn13.imdbspider.spider.tasker.Task;
2019-01-14 12:15:01 +03:00
import java.util.Arrays;
import java.util.EnumSet;
import java.util.List;
2019-01-09 17:57:37 +03:00
/**
* @author boyko_vn at 09.01.2019
*/
public interface ApiFactory {
List<Task> createTasksForSearchMovieByTitle(String title, int maxCount, EnumSet<MovieDataType> dataTypes) throws ImdbSpiderException;
2019-01-14 12:15:01 +03:00
default List<Task> createTasksForSearchMovieByTitle(String title, int maxCount, MovieDataType... dataTypes) throws ImdbSpiderException {
return createTasksForSearchMovieByTitle(title, maxCount, EnumSet.copyOf(Arrays.asList(dataTypes)));
}
2019-01-09 17:57:37 +03:00
Task taskByDataType(DataType dataType) throws DataTypeNotSupportedException;
void fillUpImdbObject(ImdbObject imdbObject, Task task);
2019-01-09 17:57:37 +03:00
EnumSet<MovieDataType> getDefaultMovieDataTypeSet();
void setMovieDataTypeSet(EnumSet<MovieDataType> movieDataTypeSet);
EnumSet<MovieDataType> getMovieDataTypeSet();
2019-01-09 17:57:37 +03:00
}