本篇内容介绍了“Java责任链设计模式的应用有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
专注于为中小企业提供网站设计、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业阳曲免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上1000家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
@Override public boolean filter(ListhandlerList) { List dynamicRecords = handlerList.stream().filter(data -> dynamicData.test(data)) .map(data -> DynamicFormatUtil.toDataRecord(data)).collect(Collectors.toList()); List staticRecords = handlerList.stream().filter(data -> staticData.test(data)) .map(data -> StaticFormatUtil.toDataRecord(data)).collect(Collectors.toList()); try { if (!CollectionUtils.isEmpty(dynamicRecords)) { filterDynamic(dynamicRecords); } if (!CollectionUtils.isEmpty(staticRecords)) { writeAfterFilterStatic(staticRecords); } return true; } catch (Exception e) { log.info("filter data exception {}", e); return false; } } private void filterDynamic(List dynamicRecords) { dynamicFilterChain.doFilters(dynamicRecords); } @Override public void doFilters(List record) { List filtereds = new ArrayList<>(); List filteredReasons = new ArrayList<>(); List afterFilters = new ArrayList<>(); List afterFilterRecords = new ArrayList<>(); record.forEach(dynamicRecord -> this .startFilter(dynamicRecord, filtereds, filteredReasons, afterFilterRecords)); if (!CollectionUtils.isEmpty(afterFilterRecords)) { //TODO 保存过滤后的数据 saveDataHub(afterFilterRecords); } if (!CollectionUtils.isEmpty(filtereds)) { //TODO 保存 过滤数据 } if (!CollectionUtils.isEmpty(filteredReasons)) { //TODO 保存过滤原因 } }@Service@Slf4jpublic class AccelerationFilter implements DynamicFilter { @Override public FilterResult doFilter(DynamicRecord data, DynamicFilterChain filterChain, FilterResult filterResult, EnumFilter enumFilter) { return null; }}
“Java责任链设计模式的应用有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!