private Predicate getPredicateColonnes(final Root<T> root, final CriteriaQuery<?> query, final CriteriaBuilder cb,
Predicate predicate) {
// check for each searchable column whether a filter value exists
for (final DatatableColumn column : input.getColumns()) {
final boolean isColumnSearchable =
column.getSearchable() && column.getSearch() != null
&& hasText(column.getSearch().getValue());
if (!isColumnSearchable) {
continue;
}
LOGGER.fine("colonne a filtrer: {"+ column+"}");
// the filter contains only one value, add a 'WHERE .. LIKE'
// clause
if (isBoolean(column.getSearch().getValue())) {
final Expression<Boolean> booleanExpression = DatatableHelper.getExpression(root, column.getData(), Boolean.class);
predicate =
cb.and(predicate, cb.equal(booleanExpression, Boolean.valueOf(column.getSearch().getValue())));
} else {
final Expression<String> stringExpression = DatatableHelper.getExpression(root, column.getData(), String.class);
predicate = cb.and(predicate, cb.like(cb.lower(stringExpression),
getLikeFilterValue(column.getSearch().getValue()), ESCAPE_CHAR));
}
}
return predicate;
}
DatatableSpecification.java 文件源码
java
阅读 28
收藏 0
点赞 0
评论 0
项目:datatable-java
作者:
评论列表
文章目录