private QueryBuilder convertCustomFlagCriterion(SearchQuery.CustomFlagCriterion criterion) { QueryBuilder termQueryBuilder = termQuery(JsonMessageConstants.USER_FLAGS, criterion.getFlag()); if (criterion.getOperator().isSet()) { return termQueryBuilder; } else { return boolQuery().mustNot(termQueryBuilder); } }
private boolean matches(SearchQuery.CustomFlagCriterion criterion, MailboxMessage message) { SearchQuery.BooleanOperator operator = criterion.getOperator(); boolean isSet = operator.isSet(); String flag = criterion.getFlag(); return isSet == message.createFlags().contains(flag); }