可重用的条件/表达式类

Per*_*ium 6 java expression functor

我曾经多次需要一些类来表示和操作条件(通常在UI中,因此用户通过组合不同的条件类型来构建查询,然后代码可以根据要查询的底层系统对其进行转换,例如lucene和a D b).我搜遍了一组可重复使用的类,我确信这必须在许多现有的地方使用(所有表达语言都是初学者),但找不到任何容易使用的东西.我自己最终编写了两次编码,但是对于不重复使用我确定存在的东西感到很难过.

典型的需求是: - 几个运算符:和/或 - 可变数量的操作数 - 组合条件来构建表达式 - 表达式的序列化 - 从/到字符串的表达式的解析/格式化

有人发现了类似的东西吗?

Mat*_*hen 0

看看Apache Commons Functor。例如UnaryPredicateUnaryAndUnaryOr等。内置实现是可序列化的,但我不知道如何从字符串解析。尽管如此,我认为这是实现您想要的目标的一个很好的开始。另外,请查看这个基于该库的IBM 教程。