public static Predicate build()

in paimon-python-java-bridge/src/main/java/org/apache/paimon/python/PredicationUtil.java [33:76]


    public static Predicate build(
            RowType rowType,
            PredicateBuilder builder,
            String method,
            int index,
            List<Object> literals) {
        literals =
                literals.stream()
                        .map(l -> convertJavaObject(rowType.getTypeAt(index), l))
                        .collect(Collectors.toList());
        switch (method) {
            case "equal":
                return builder.equal(index, literals.get(0));
            case "notEqual":
                return builder.notEqual(index, literals.get(0));
            case "lessThan":
                return builder.lessThan(index, literals.get(0));
            case "lessOrEqual":
                return builder.lessOrEqual(index, literals.get(0));
            case "greaterThan":
                return builder.greaterThan(index, literals.get(0));
            case "greaterOrEqual":
                return builder.greaterOrEqual(index, literals.get(0));
            case "isNull":
                return builder.isNull(index);
            case "isNotNull":
                return builder.isNotNull(index);
            case "startsWith":
                return builder.startsWith(index, literals.get(0));
            case "endsWith":
                return builder.endsWith(index, literals.get(0));
            case "contains":
                return builder.contains(index, literals.get(0));
            case "in":
                return builder.in(index, literals);
            case "notIn":
                return builder.notIn(index, literals);
            case "between":
                return builder.between(index, literals.get(0), literals.get(1));
            default:
                throw new UnsupportedOperationException(
                        "Unknown PredicateBuilder method " + method);
        }
    }