ResponsibilityChainHandlerFactory.java 1017 B

12345678910111213141516171819202122232425
  1. package cn.nosum.support.chain;
  2. import java.util.function.Predicate;
  3. /**
  4. * 负责生产责任链中的节点。
  5. *
  6. * @author Young
  7. */
  8. public class ResponsibilityChainHandlerFactory {
  9. /**
  10. * 创建责任链处理节点
  11. *
  12. * @param name 名称
  13. * @param hitPredicate 提供给外部注册的判断是否命中当前责任链节点的逻辑块
  14. * @param handleAction 提供给外部注册的责任链上下文处理的逻辑块
  15. */
  16. public static <T extends Processor> BaseResponsibilityChainHandler<T> generate(String name,
  17. Predicate<T> hitPredicate,
  18. Predicate<T> handleAction,
  19. BaseResponsibilityChainHandler<T> next) {
  20. return new BaseResponsibilityChainHandler<>(name, hitPredicate, handleAction, next);
  21. }
  22. }