С StormpathSDK вы обычно строите такие запросы:
Groups.where(Groups.name().eqIgnoreCase("SIMPLE_ADMIN"))
примечание. Groups.name()
– это фабрика типизированных выражений, например StringExpressionFactory
.
Теперь для дат существует несколько методов выражения даты, например;
<date-expression>.matches(String value)
<date-expression>.gt(Date value)
<date-expression>.lt(Date value)
<date-expression>.gte(Date value)
<date-expression>.lte(Date value)
<date-expression>.equals(Date value)
<date-expression>.in(Date begin, Date end)
<date-expression>.in(Date begin, Duration duration)
А для строк существуют следующие методы выражения строк;
<string-expression>.eqIgnoreCase(String value)
<string-expression>.startsWithIgnoreCase(String value)
<string-expression>.endsWithIgnoreCase(String value)
<string-expression>.containsIgnoreCase(String value)
Поскольку эти выражения не возвращают тип, с которым можно работать, например, с помощью логического отрицателя, я нахожу довольно странным отсутствие метода сравнения для проверки условия НЕ, например
<expression>.notEquals(...)
<expression>.notMatches(...)
<expression>.notContains(...)
<expression>.notIn(...)
Есть ли какой-нибудь известный способ добиться того, что предположительно должны делать эти методы?... Может ли кто-нибудь указать мне правильное направление?
Спасибо!