我正在尝试实现一个应该Boolean
在 Jexl 表达式中表现得像的自定义类:
例子:
Object result = jexl.createExpression("a || b").evaluate(context)
Wherea
和b
are 自定义类的实例,其中包含一个boolean
额外的信息,应该通过评估的表达式进行,以便最终可以在result
.
我已经读过 Jexl3 应该支持运算符重载,并且它似乎具有为自定义类定义自己的运算符的所有必要结构 - 但是我无法理解这样做需要哪些步骤。
我已经尝试通过自定义实现来扩展Uberspect
和扩展JexlArithmetic
,但是我只发现使用toBoolean
我可以将我的自定义对象转换为Boolean
(这使得- 因此我丢失了所有额外的信息)result
。Boolean
如何正确使用/扩展 Jexl 为自定义类提供布尔运算符?