public class Person {
private String name;
private Boolean like;
public Boolean getLike() {
return like;
}
public void setLike(Boolean like) {
this.like = like;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
@Named
@SessionScoped
public class PeopleModel {
private List<Person> people;
private Boolean liked;
public List<Person> getPeople() {
return people;
}
public void setPeople(List<Person> people) {
this.people = people;
}
public Boolean getLiked() {
return liked;
}
public void setLiked(Boolean liked) {
this.liked = liked;
}
}
@Named
@RequestScoped
public class PeopleController {
@EJB
PeopleRepositoryBean peopleRepo;
@Inject
PeopleModel model;
@PostConstruct
public void postConstruct(){
init();
}
public void init(){
Boolean liked = model.getLiked();
// findPeopleILike(Boolean) method returns
// -- only liked people when liked = true
// -- only not liked people when liked = false
// -- both when liked = null
List<Person> people = peopleRepo.findPeopleILike(liked);
model.setPeople(people);
}
}