ChainHandler.java 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package cn.nosum.chain.handler;
  2. import cn.nosum.chain.constants.ChainConstants;
  3. import cn.nosum.chain.context.ChainContext;
  4. import cn.nosum.support.annotation.ResponsibilityChainMethod;
  5. import org.springframework.stereotype.Component;
  6. /**
  7. * @author Young
  8. */
  9. @Component
  10. public class ChainHandler {
  11. @ResponsibilityChainMethod(groupName = ChainConstants.CHAIN_GROUP_NAME, order = 1, isReturn = true)
  12. public boolean test1(ChainContext context) {
  13. System.out.println("test1" + context.getName());
  14. return true;
  15. }
  16. @ResponsibilityChainMethod(groupName = ChainConstants.CHAIN_GROUP_NAME, order = 2, isReturn = true)
  17. public boolean test2(ChainContext context) {
  18. context.setExecuteNextNode(false);
  19. System.out.println("test2" + context.getName());
  20. return true;
  21. }
  22. /**
  23. * 测试返回false的情况,中断执行链
  24. */
  25. @ResponsibilityChainMethod(groupName = ChainConstants.CHAIN_GROUP_NAME, order = 3, isReturn = true)
  26. public boolean test3(ChainContext context) {
  27. System.out.println("test3" + context.getName());
  28. return false;
  29. }
  30. @ResponsibilityChainMethod(groupName = ChainConstants.CHAIN_GROUP_NAME, order = 4, isReturn = true)
  31. public boolean test4(ChainContext context) {
  32. System.out.println("test4" + context.getName());
  33. return true;
  34. }
  35. /**
  36. * 没有放值的情况,默认返回true
  37. */
  38. @ResponsibilityChainMethod(groupName = ChainConstants.CHAIN_GROUP_NAME, order = 5)
  39. public void test5(ChainContext context) {
  40. System.out.println("test5" + context.getName());
  41. }
  42. /**
  43. * 测试是否执行下一个节点
  44. */
  45. @ResponsibilityChainMethod(groupName = ChainConstants.CHAIN_GROUP_NAME, order = 6)
  46. public void test6(ChainContext context) {
  47. context.setExecuteNextNode(false);
  48. System.out.println("test6" + context.getName());
  49. }
  50. @ResponsibilityChainMethod(groupName = ChainConstants.CHAIN_GROUP_NAME, order = 7)
  51. public void test7(ChainContext context) {
  52. System.out.println("test7" + context.getName());
  53. }
  54. }