private static Predicate createMinMax()

in java/grafana-api/src/main/java/com/epam/deltix/grafana/base/annotations/AnnotationUtil.java [48:89]


    private static Predicate<String> createMinMax(ConstantArgument argument) {
        switch (argument.type()) {
            case INT8:
                return x -> {
                    byte value = Byte.parseByte(x);
                    return value >= Byte.parseByte(argument.min()) && value <= Byte.parseByte(argument.max());
                };
            case INT16:
                return x -> {
                    short value = Short.parseShort(x);
                    return value >= Short.parseShort(argument.min()) && value <= Short.parseShort(argument.max());
                };
            case INT32:
                return x -> {
                    int value = Integer.parseInt(x);
                    return value >= Integer.parseInt(argument.min()) && value <= Integer.parseInt(argument.max());
                };
            case INT64:
                return x -> {
                    long value = Long.parseLong(x);
                    return value >= Long.parseLong(argument.min()) && value <= Long.parseLong(argument.max());
                };
            case FLOAT32:
                return x -> {
                    float value = Float.parseFloat(x);
                    return value >= Float.parseFloat(argument.min()) && value <= Float.parseFloat(argument.max());
                };
            case FLOAT64:
                return x -> {
                    double value = Double.parseDouble(x);
                    return value >= Double.parseDouble(argument.min()) && value <= Double.parseDouble(argument.max());
                };
            case DECIMAL64:
                return x -> {
                    @Decimal long value = Decimal64Utils.parse(x);
                    return Decimal64Utils.isGreaterOrEqual(value, Decimal64Utils.parse(argument.min()))
                            && Decimal64Utils.isLessOrEqual(value, Decimal64Utils.parse(argument.max()));
                };
            default:
                throw new UnsupportedOperationException();
        }
    }