Advertisement
Guest User

Untitled

a guest
Apr 24th, 2019
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.27 KB | None | 0 0
  1. public class BaseSpecification<T> implements Specification<T> {
  2.  
  3. private SearchCriteria criteria;
  4.  
  5. public BaseSpecification(SearchCriteria criteria) {
  6. this.criteria = criteria;
  7. }
  8.  
  9. @Nullable
  10. @Override
  11. public Predicate toPredicate(Root<T> root, CriteriaQuery<?> query, CriteriaBuilder criteriaBuilder) {
  12.  
  13. if (criteria.getOperation().equalsIgnoreCase(">")) {
  14. return criteriaBuilder.greaterThanOrEqualTo(
  15. root.get(criteria.getKey()).as(Date.class), (Date) criteria.getValue());
  16. }
  17. else if (criteria.getOperation().equalsIgnoreCase("<")) {
  18. return criteriaBuilder.lessThanOrEqualTo(
  19. root.get(criteria.getKey()).as(Date.class), (Date) criteria.getValue());
  20. }
  21. else if (criteria.getOperation().equalsIgnoreCase(":")) {
  22. if (root.get(criteria.getKey()).getJavaType() == String.class) {
  23. return criteriaBuilder.like(
  24. root.<String>get(criteria.getKey()), "%" + criteria.getValue() + "%");
  25. } else {
  26. return criteriaBuilder.equal(root.get(criteria.getKey()), criteria.getValue());
  27. }
  28. }
  29. return null;
  30. }
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement