欧洲科技
应用程序管理对“资源”对象(例如用户)的访问,我们需要提供Java API来查询可用资源集。
查询API的要求之一是具有过滤功能,允许客户端选择与某些条件匹配的资源。为了简单起见,使用Map<String>表示“资源” Map<String>该映射将“属性”名称(键)映射为其值。
属性名称区分大小写,但属性值不区分大小写。
任务:
设计并实现“过滤器” API,该API可用于确定资源是否匹配给定的一组标准。更具体地说,过滤器API应该提供以下功能:
确定过滤器是否匹配给定资源(使用Map<String>表示资源)的能力。
支持以下类型的过滤器谓词(无需实现所有这些谓词):
布尔文字:对与错
逻辑运算符,可用于合并其他过滤器的结果:AND,OR和NOT
比较运算符(应注意处理缺失的属性):
财产存在
属性等于某个值
财产少于一些价值
财产大