1
0
mirror of https://github.com/mitb-archive/filebot synced 2024-08-13 17:03:45 -04:00
filebot/source/net/filebot/web/Crew.java
2016-11-01 21:22:36 +08:00

45 lines
995 B
Java

package net.filebot.web;
import static java.util.stream.Collectors.*;
import java.util.List;
import java.util.function.Predicate;
public interface Crew {
List<Person> getCrew();
default List<Person> getCast() {
return getCrew().stream().filter(Person::isActor).collect(toList());
}
default List<String> getActors() {
return getCrewNames(Person::isActor);
}
default List<String> getDirectors() {
return getCrewNames(Person::isDirector);
}
default List<String> getWriters() {
return getCrewNames(Person::isWriter);
}
default String getDirector() {
return getCrewName(Person::isDirector);
}
default String getWriter() {
return getCrewName(Person::isWriter);
}
default String getCrewName(Predicate<Person> filter) {
return getCrew().stream().filter(filter).map(Person::getName).findFirst().orElse(null);
}
default List<String> getCrewNames(Predicate<Person> filter) {
return getCrew().stream().filter(filter).map(Person::getName).collect(toList());
}
}