Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class BaseSpecification<T> implements Specification<T> {
- private SearchCriteria criteria;
- public BaseSpecification(SearchCriteria criteria) {
- this.criteria = criteria;
- }
- @Nullable
- @Override
- public Predicate toPredicate(Root<T> root, CriteriaQuery<?> query, CriteriaBuilder criteriaBuilder) {
- if (criteria.getOperation().equalsIgnoreCase(">")) {
- return criteriaBuilder.greaterThanOrEqualTo(
- root.get(criteria.getKey()).as(Date.class), (Date) criteria.getValue());
- }
- else if (criteria.getOperation().equalsIgnoreCase("<")) {
- return criteriaBuilder.lessThanOrEqualTo(
- root.get(criteria.getKey()).as(Date.class), (Date) criteria.getValue());
- }
- else if (criteria.getOperation().equalsIgnoreCase(":")) {
- if (root.get(criteria.getKey()).getJavaType() == String.class) {
- return criteriaBuilder.like(
- root.<String>get(criteria.getKey()), "%" + criteria.getValue() + "%");
- } else {
- return criteriaBuilder.equal(root.get(criteria.getKey()), criteria.getValue());
- }
- }
- return null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement