Как обработать условия переключения, используя API потока Java - PullRequest
0 голосов
/ 21 июня 2019

Я пытаюсь построить SQL-запрос на основе запроса. У меня есть разные типы выражений:

"и" -> И выражение
"или" -> Или выражение
"eq" -> выражение равенства
"notEq" -> Выражение неравенства
"ge" -> Выражение, превышающее равенство
"gt" -> Больше чем выражение
"lt" -> Меньше, чем выражение
"le" -> Выражение меньше, чем равенство
"Между" -> Между выражением
лайк -> лайк выражение

Я пытался выполнить два условия. Но я хочу сделать несколько условий на основе типа, я должен выбрать выражение. Например, если eq является типом, то у меня есть выражение = или in, если между типом есть выражение типа between.

searchQuery = listOfExpression.stream()
        .map(e -> e.getFilterName() + "" +
                (e.getType(). equalsIgnoreCase("eq") ? " in" : " like") + "(" +
                (e.getValues().stream()
                        .map(s -> "'" + s + "'")
                        .collect(Collectors.joining(","))) + ")")
        .collect(Collectors.joining(" " + searchType));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...