Handler.java
上传用户:hensond
上传日期:2021-12-27
资源大小:817k
文件大小:1k
源码类别:

软件工程

开发平台:

Java

  1. package com.company.section3;
  2. /**
  3.  * @author cbf4Life cbf4life@126.com
  4.  * I'm glad to share my knowledge with you all.
  5.  */
  6. public abstract class Handler {
  7. private Handler nextHandler;
  8. //每个处理者都必须对请求做出处理
  9. public final Response handlerMessage(Request request){
  10. Response response = null;
  11. //判断是否是自己的处理级别
  12. if(this.getHandlerLevel().equals(request.getRequestLevel())){
  13. response = this.echo(request);
  14. }else{  //不属于自己的处理级别
  15. //判断是否有下一个处理者
  16. if(this.nextHandler != null){
  17. response = this.nextHandler.handlerMessage(request);
  18. }else{
  19. //没有适当的处理者,业务自行处理
  20. }
  21. }
  22. return response;
  23. }
  24. //设置下一个处理者是谁
  25. public void setNext(Handler _handler){
  26. this.nextHandler = _handler;
  27. }
  28. //每个处理者都有一个处理级别
  29. protected abstract Level getHandlerLevel();
  30. //每个处理者都必须实现处理任务
  31. protected abstract Response echo(Request request);
  32. }