package pt.isel.mpd14.aula32;
import java.util.LinkedList;
import java.util.List;
import java.util.function.Predicate;
/**
* Hello world!
*
*/
public class App {
public static void main(String[] args) {
List<Product> prods = new LinkedList<Product>();
prods.add(new Product(1, "Atum", 5.2, 100));
prods.add(new Product(2, "Sardinha ", 15.2, 10));
prods.add(new Product(3, "Olivas", 11.2, 100));
prods.add(new Product(4, "Batatas", 13.7, 75));
prods.add(new Product(5, "Eliecticos", 5.2, 100));
/*
prods.stream()
.filter(new ReflectPredicate<>("unitsInStock", 100))
.filter(new ReflectPredicate<>("unitPrice", 5.2))
.forEach(System.out::println);
*/
/*
Predicate<Product> p = ReflectUtils.and(
new ReflectPredicate<>("unitsInStock", 100),
new ReflectPredicate<>("unitPrice", 5.2));
prods.stream().filter(p).forEach(System.out::println);
*/
ReflectUtils.reflect(prods)
.filter("unitsInStock", 100)
.filter("unitPrice", 5.2)
.forEach(System.out::println);
}
}