12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- package com.uqac.rthoni.java_rmi.common;
-
- import java.io.Serializable;
- import java.util.Arrays;
- import java.util.Collections;
- import java.util.Vector;
- import java.util.stream.Collectors;
-
- /**
- * Created by robin on 9/15/16.
- */
- public class Command implements Serializable {
- private String _commandName = "";
- private Vector<String> _arguments = new Vector<>();
- private transient String _result;
-
- public Command(String commandName)
- {
- setCommandName(commandName);
- }
-
- public String toString()
- {
- StringBuilder stringBuilder = new StringBuilder();
- stringBuilder.append(_commandName);
- if (!_arguments.isEmpty()) {
- stringBuilder.append("#");
- stringBuilder.append(_arguments.stream().collect(Collectors.joining("#")));
- }
- return stringBuilder.toString();
- }
-
- public static Command fromString(String str)
- {
- if (str == null || str.isEmpty()) {
- return null;
- }
- String[] parts = str.split("#");
- Command command = new Command(parts[0]);
- for (int i = 1; i < parts.length; ++i) {
- command.addArgument(parts[i]);
- }
- return command;
- }
-
- public void setCommandName(String commandName)
- {
- if (commandName == null || commandName.isEmpty()) {
- commandName = "Unknown";
- }
- _commandName = commandName;
- }
-
- public String getCommandName()
- {
- return _commandName;
- }
-
- public void addArgument(String argument)
- {
- if (argument == null) {
- argument = "";
- }
- _arguments.add(argument);
- }
-
- public int getArgumentCount()
- {
- return _arguments.size();
- }
-
- public String getArgument(int i, boolean optional)
- {
- if (i >= _arguments.size() && optional) {
- return "";
- }
- return _arguments.get(i);
- }
-
- public Vector<String> getArgumentAsList(int i, boolean optional)
- {
- if (i >= _arguments.size() && optional) {
- return new Vector<>();
- }
- return new Vector<>(Arrays.asList(_arguments.get(i).split(",")));
- }
-
- public void setResult(String result)
- {
- _result = result;
- }
-
- public String getResult()
- {
- return _result;
- }
- }
|