BillUserPredicate.java 820 Bytes
package fi.codecrew.moya.facade.callbacks.bill;

import java.util.List;

import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Path;
import javax.persistence.criteria.Predicate;

import fi.codecrew.moya.model.Bill;
import fi.codecrew.moya.model.Bill_;
import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.utilities.jpa.FacadeCallback;

public class BillUserPredicate implements FacadeCallback<Bill> {

	private final EventUser user;

	public BillUserPredicate(EventUser user) {
		this.user = user;
	}

	@Override
	public void exec(CriteriaBuilder cb, CriteriaQuery<?> cq, Path<Bill> root, List<Predicate> predicates, boolean isFullQuery) {
		if (user != null) {
			predicates.add(cb.equal(root.get(Bill_.user), user));
		}
	}
}