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

软件工程

开发平台:

Java

  1. package com.company;
  2. import com.company.command.Command;
  3. import com.company.command.LSCommand;
  4. /**
  5.  * @author cbf4Life cbf4life@126.com
  6.  * I'm glad to share my knowledge with you all.
  7.  * 调用类
  8.  */
  9. public class Invoker {
  10. //执行命令
  11. public String  exec(String _commandStr){
  12. //定义返回值
  13. String result = "";
  14. //首先解析命令
  15. CommandVO vo = new CommandVO(_commandStr);
  16. //检查是否支持支持该命令
  17. if(CommandEnum.getNames().contains(vo.getCommandName())){
  18. //产生命令对象
  19. String className = CommandEnum.valueOf(vo.getCommandName()).getValue();
  20. Command command;
  21. try {
  22. command = (Command)Class.forName(className).newInstance();
  23. result = command.execute(vo);
  24. }catch(Exception e){
  25. // TODO 异常处理
  26. }
  27. }else{
  28. result = "无法执行命令,请检查命令格式";
  29. }
  30. return result;
  31. }
  32. public static void main(String[] args) {
  33. String cmd = "ls -a";
  34. Invoker invoker = new Invoker();
  35. System.out.println(invoker.exec(cmd));
  36. }
  37. }