定义过滤器以应用于弹簧上下文文件中的对象集合的最佳做法是什么?
说我有一个人员集合(Collection<Person> people
)。每个人都有age/name/sex/occupation/email
个属性。
我需要根据一些标准和基础创建这些人的子群体。简单的谓词。示例分组可以是:
sex=Male
sex=Female && age>30 && occupation=IT
sex=Male && occupation=IT && email endsWith "aol.com"
我可以看到使用Guava Predicates&amp; amp; Collections2.filter()
通过在代码中定义Predicate(s)
,将它们拉入上下文文件中的集合,并在需要时注入适当的谓词集合。
JFilter
也是一种可能的竞争者,因为您可以将过滤器定义为字符串。 LambdaJ似乎是在Java中过滤集合的另一个流行选项,但不清楚如何允许从Spring Context驱动过滤逻辑。
还有更好的方法吗?
注意,我希望每次都避免调用数据库,因为我已经拥有了我在内存中关注的对象集合。