Предоставя ли Stormpath SDK начин за създаване на заявки за условието NOT?

Със 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(...)

Има ли известен начин да се постигне това, което този тип методи трябва да правят?... Може ли някой да ме насочи в правилната посока?

Благодаря!


person SourceVisor    schedule 17.11.2015    source източник


Отговори (1)


Ако отрицанието беше възможно, то вероятно щеше да бъде налично като модификатор на Typed ExpressionFactory, например:

<date-expression>.not().matches(String value)
<date-expression>.not().gt(Date value)
<date-expression>.not().lt(Date value)
<date-expression>.not().gte(Date value)
<date-expression>.not().lte(Date value)
<date-expression>.not().equals(Date value)
<date-expression>.not().in(Date begin, Date end)
<date-expression>.not().in(Date begin, Duration duration)

Тази функционалност обаче не съществува в Java SDK (или другите SDK на Stormpath), тъй като основният REST API понастоящем не поддържа отричане в критериите за заявка.

person Les Hazlewood    schedule 17.11.2015
comment
Благодаря @Les_Hazlewood, има ли някаква възможност вие да добавите някакви алтернативи на Stormpath SDK, който поддържа отричане на заявки. Ако не съм твърде забравителен, мисля, че JPA CriteriaQuery API има нещо подобно - person SourceVisor; 17.11.2015
comment
И като знам, че сте техническият директор на Stormpath, бихте ли ми помогнали да разгледате въпроса ми тук?... stackoverflow.com/questions/33605873/ - person SourceVisor; 17.11.2015
comment
@Tall'jeezzy не съм сигурен, че можем да направим нещо на ниво SDK за това - самият основен REST API трябва да поддържа отрицание, преди нашите SDK да могат да го използват. Все пак отбелязахме това като искане за функция за нашия API екип! - person Les Hazlewood; 17.11.2015
comment
@Tall'jeezzy Ще видя дали нашият екип за Java SDK може да помогне! - person Les Hazlewood; 17.11.2015