
com.ctp.cdi.query.criteria.predicate.OrBuilder Maven / Gradle / Ivy
The newest version!
package com.ctp.cdi.query.criteria.predicate;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.Path;
import javax.persistence.criteria.Predicate;
import com.ctp.cdi.query.criteria.Criteria;
public class OrBuilder implements PredicateBuilder
{
final Criteria
[] criteria;
public OrBuilder(Criteria
... criteria) {
this.criteria = criteria;
}
@Override
public List build(CriteriaBuilder builder, Path path) {
List and = new ArrayList(criteria.length);
for (Criteria c : criteria) {
and.add(builder.and(
c.predicates(builder, path).toArray(new Predicate[0])));
}
return Arrays.asList(builder.or(and.toArray(new Predicate[0])));
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy