【发布时间】:2016-06-09 15:44:13
【问题描述】:
我定义了两个新的自定义运算符,分别命名为 =empty= 和 =notEmpty=,就像我以前一样。
public abstract class RsqlParserOperators extends RSQLOperators {
...
public static final ComparisonOperator LIKE = new ComparisonOperator("=like=", true);
...
public static final ComparisonOperator EMPTY = new ComparisonOperator("=empty=", false);
public static final ComparisonOperator NOT_EMPTY = new ComparisonOperator("=notEmpty=", false);
public static Set<ComparisonOperator> operators() {
Set<ComparisonOperator> set = defaultOperators();
...
set.add(LIKE);
...
set.add(EMPTY);
set.add(NOT_EMPTY);
return set;
}
}
这些新运算符的特殊之处在于它们不需要参数。
当我尝试使用其中一个时,例如使用像 serie=empty= 这样的过滤器时,我最终遇到了以下异常。
cz.jirutka.rsql.parser.ParseException: Encountered "<EOF>" at line 1, column 12.
Was expecting one of:
<UNRESERVED_STR> ...
<SINGLE_QUOTED_STR> ...
<DOUBLE_QUOTED_STR> ...
"(" ...
关于如何定义无参数运算符的任何想法?
谢谢。
【问题讨论】:
标签: java rest search-engine