io.github.perplexhub.rsql.QuerySupport Maven / Gradle / Ivy
package io.github.perplexhub.rsql;
import lombok.Builder;
import lombok.Data;
import jakarta.persistence.criteria.JoinType;
import java.util.List;
import java.util.Map;
@Data
@Builder
public class QuerySupport {
private String rsqlQuery;
private boolean distinct;
/**
* Whether try to interpret {@link RSQLOperators#EQUAL} or {@link RSQLOperators#NOT_EQUAL} operators as
* {@link RSQLOperators#LIKE}, {@link RSQLOperators#NOT_LIKE} or their case-insensitive variants.
*/
private boolean strictEquality;
private Map propertyPathMapper;
private List> customPredicates;
private Map joinHints;
private Map, List> propertyWhitelist;
private Map, List> propertyBlacklist;
public static class QuerySupportBuilder {}
@Override
public String toString() {
return String.format("%s,distinct:%b,propertyPathMapper:%s,customPredicates:%d,joinHints:%s,propertyWhitelist:%s,propertyBlacklist:%s",
rsqlQuery, distinct, propertyPathMapper, customPredicates == null ? 0 : customPredicates.size(), joinHints, propertyWhitelist, propertyBlacklist);
}
}