package com.cardshifter.server.model;
import java.util.Arrays;
import com.cardshifter.api.ClientIO;
public class Command {
private final String[] params;
private final String fullCommand;
private final ClientIO sender;
public Command(ClientIO sender, String commandString) {
this.params = commandString.split(" ");
this.fullCommand = commandString;
this.sender = sender;
}
public String getFullCommand() {
return fullCommand;
}
public String getCommand() {
return params[0];
}
public ClientIO getSender() {
return sender;
}
@Override
public String toString() {
return "Command:" + getFullCommand();
}
public String getParameter(int i) {
if (params.length > i)
return params[i];
return "";
}
public int getParameterInt(int i) {
try {
if (params.length > i)
return Integer.parseInt(params[i]);
}
catch (NumberFormatException ex) { }
return -1;
}
public String getFullCommand(int startingFrom) {
StringBuilder str = new StringBuilder();
for (int i = startingFrom; i < params.length; i++) {
if (str.length() > 0)
str.append(" ");
str.append(params[i]);
}
return str.toString();
}
public String[] getAllParameters() {
return Arrays.copyOfRange(params, 1, params.length);
}
}