EventLimiter.java 782 Bytes
package fi.codecrew.moya.facade.callbacks;

import java.util.List;

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

import fi.codecrew.moya.model.EventUser_;
import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.model.LanEvent;
import fi.codecrew.moya.utilities.jpa.FacadeCallback;

public class EventLimiter implements FacadeCallback<EventUser> {

	private LanEvent ev;

	public EventLimiter(LanEvent currentEvent) {
		ev = currentEvent;
	}

	@Override
	public void exec(CriteriaBuilder cb, CriteriaQuery<?> cq, From<?, EventUser> root, List<Predicate> predicates) {
		predicates.add(cb.equal(root.get(EventUser_.event), ev));
	}

}