You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Command.java 1.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. package com.uqac.rthoni.java_rmi.common;
  2. import java.io.Serializable;
  3. import java.util.Vector;
  4. import java.util.stream.Collectors;
  5. /**
  6. * Created by robin on 9/15/16.
  7. */
  8. public class Command implements Serializable {
  9. private String _commandName = "";
  10. private Vector<String> _arguments = new Vector<>();
  11. private transient String _result;
  12. public Command(String commandName)
  13. {
  14. setCommandName(commandName);
  15. }
  16. public String toString()
  17. {
  18. StringBuilder stringBuilder = new StringBuilder();
  19. stringBuilder.append(_commandName);
  20. if (!_arguments.isEmpty()) {
  21. stringBuilder.append("#");
  22. stringBuilder.append(_arguments.stream().collect(Collectors.joining("#")));
  23. }
  24. return stringBuilder.toString();
  25. }
  26. public static Command fromString(String str)
  27. {
  28. if (str == null || str.isEmpty()) {
  29. return null;
  30. }
  31. String[] parts = str.split("#");
  32. Command command = new Command(parts[0]);
  33. for (int i = 1; i < parts.length; ++i) {
  34. command.addArgument(parts[i]);
  35. }
  36. return command;
  37. }
  38. public void setCommandName(String commandName)
  39. {
  40. if (commandName == null || commandName.isEmpty()) {
  41. commandName = "Unknown";
  42. }
  43. _commandName = commandName;
  44. }
  45. public String getCommandName()
  46. {
  47. return _commandName;
  48. }
  49. public void addArgument(String argument)
  50. {
  51. if (argument == null) {
  52. argument = "";
  53. }
  54. _arguments.add(argument);
  55. }
  56. public int getArgumentCount()
  57. {
  58. return _arguments.size();
  59. }
  60. public String getArgument(int i)
  61. {
  62. return _arguments.get(i);
  63. }
  64. public void setResult(String result)
  65. {
  66. _result = result;
  67. }
  68. public String getResult()
  69. {
  70. return _result;
  71. }
  72. }