All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.hiboot.mcn.autoconfigure.jpa.AbstractPredicateProvider Maven / Gradle / Ivy

There is a newer version: 3.3.1
Show newest version
package cn.hiboot.mcn.autoconfigure.jpa;

import org.springframework.util.Assert;

import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;

/**
 * AbstractPredicateProvider
 *
 * @author DingHao
 * @since 2022/1/22 16:42
 */
public abstract class AbstractPredicateProvider implements PredicateProvider{

    private final String fieldName;

    public AbstractPredicateProvider(String fieldName) {
        Assert.hasText(fieldName,"fieldName must not empty");
        this.fieldName = fieldName;
    }

    @Override
    public Predicate getPredicate(Root root, CriteriaBuilder criteriaBuilder) {
        if(isValid()){
            return doGetPredicate(root, criteriaBuilder);
        }
        return null;
    }

    protected abstract Predicate doGetPredicate(Root root, CriteriaBuilder criteriaBuilder);

    public String getFieldName() {
        return fieldName;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy