package es.um.atica.shared.domain.specification;
import java.util.Arrays;
import java.util.List;
public class OrSpecification<T> implements Specification<T> {
private List<Specification<T>> specifications;
public OrSpecification(Specification<T>... specifications) {
this.specifications = Arrays.asList(specifications);
}
public boolean isSatisfied(T object) {
return specifications.stream().filter(s->s!=null).anyMatch(s -> s.isSatisfied(object));
}
}