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

paa.coder.noodleCriteriaBuilder.interfaces.NoodlePredicate Maven / Gradle / Ivy

package paa.coder.noodleCriteriaBuilder.interfaces;


import paa.coder.noodleCriteriaBuilder.queryBuilder.SubqueryBuilder;
import paa.coder.noodleCriteriaBuilder.queryBuilder.expressions.SelectStore;
import paa.coder.noodleCriteriaBuilder.queryBuilder.specifications.NoodleSpecificationBuilder;

import javax.persistence.criteria.Predicate;
import java.util.function.Consumer;
import java.util.function.Function;

public interface NoodlePredicate extends NoodleSelection{

    interface Builder{

        default NoodleSpecificationBuilder where(Consumer consumer, Object value){return where(consumer, "=", value);}
        NoodleSpecificationBuilder where(Consumer consumer, String operator, Object value);
        NoodleSpecificationBuilder whereNot(Consumer consumer, String operator, Object value);

        default NoodleSpecificationBuilder where(String field, Object value){return where(field, "=", value);}
        NoodleSpecificationBuilder where(String field, String operator, Object value);
        NoodleSpecificationBuilder whereNot(String field, String operator, Object value);

        NoodleSpecificationBuilder where(Function fPred);
        NoodleSpecificationBuilder whereNot(Function fPred);

        default NoodleSpecificationBuilder whereSubquery(String field, SubqueryBuilder.Initiator.Runner value){return whereSubquery(field, "=", value);}
        NoodleSpecificationBuilder whereSubquery(String field, String operator, SubqueryBuilder.Initiator.Runner value);
        NoodleSpecificationBuilder whereSubqueryNot(String field, String operator, SubqueryBuilder.Initiator.Runner value);

        default NoodleSpecificationBuilder whereSubquery(SubqueryBuilder.Initiator.Runner value,Object o){return whereSubquery(value, "=", o);}
        NoodleSpecificationBuilder whereSubquery(SubqueryBuilder.Initiator.Runner value,String operator,Object o);
        NoodleSpecificationBuilder whereSubqueryNot(SubqueryBuilder.Initiator.Runner value,String operator,Object o);

        default NoodleSpecificationBuilder same(Object value) {return same(value,null);}
        NoodleSpecificationBuilder same(Object value,String prefix);
        NoodleSpecificationBuilder notSame(Object value,String prefix);

        NoodleSpecificationBuilder empty();



    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy