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

软件工程

开发平台:

Java

  1. package com.company.command_name;
  2. import com.company.CommandVO;
  3. /**
  4.  * @author cbf4Life cbf4life@126.com
  5.  * I'm glad to share my knowledge with you all.
  6.  * 充当Handler
  7.  */
  8. public abstract class CommandName {
  9. private CommandName nextOperator;
  10. public final String handleMessage(CommandVO vo){
  11. //处理结果
  12. String result = "";
  13. //判断是否是自己处理的参数
  14. if(vo.getParam().size() == 0 || vo.getParam().contains(this.getOperateParam())){
  15. result = this.echo(vo);
  16. }else{
  17. if(this.nextOperator !=null){
  18. result = this.nextOperator.handleMessage(vo);
  19. }else{
  20. result = "命令无法执行";
  21. }
  22. }
  23. return result;
  24. }
  25. //设置剩余参数谁来处理
  26. public void setNext(CommandName _operator){
  27. this.nextOperator = _operator;
  28. }
  29. //每个处理者都要处理一个后缀参数
  30. protected abstract String getOperateParam();
  31. //每个处理者都必须实现处理任务
  32. protected abstract String echo(CommandVO vo);
  33. }