Vaadin 6.6中的新过滤器API

自本周以来,Vaadin的6.6版预览版已可用。 在其他有趣的增强功能中,肯定会引起我的注意的是新的Filter API。

要了解它为何如此有趣,必须知道它在6.5版及更低版本中是如何处理的。 但首先,要谈谈Vaadin中的过滤器:它们在用于处理项目集合的容器中使用,以便对合格的项目进行分类。 Container.Filterable接口定义添加单个过滤器的方法,其签名为:

addContainerFilter(ObjectpropertyId,StringfilterString,booleanignoreCase,booleanonlyMatchPrefix)

因此,我们只能过滤字符串相等性,并且可以针对大小写和位置松开/收紧该相等性。 此外,具有相同属性的过滤器是可加的。 如果您需要做的还不错,那就把鹅煮熟。 在对请求的先前建议中,过滤器必须不区分重音,不支持此功能。 我不得不砍拼了命来实现它。 实际上,由于大多数容器API的代码都是私有的,因此我将其复制以提供所需的选项替代方案。 它成功了,但很脏。

但是,新的API为过滤器提供了真正可扩展的模型,这使我以前的开发过时了。 值得一提的事实如下:

  • Container.Filterable接口变为Container.SimpleFilterable ,方法签名中没有其他更改
  • 使用以下方法添加了全新的Container.Filterable
addContainerFilter(Container.Filterfilter)
  • Filter接口公开,并带来一个完整的层次结构,同时考虑到布尔组成(这意味着您可以组合使用OR,AND或NOT进行过滤)。 该接口有两种方法:
appliesToProperty(ObjectpropertyId)
passesFilter(ObjectitemId,Itemitem)

这些更新使创建不区分重音的功能变得轻而易举。 结论是,如果您对Vaadin感兴趣,那么就必须看看新版本(如果仅适用于filter API)!

更进一步:

翻译自: https://blog.frankel.ch/new-filter-api-in-vaadin-6-6/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值