/**
* Throws an exception if the command is too long.
*/
package com.willwinder.universalgcodesender.gcode.processors;
import com.willwinder.universalgcodesender.gcode.util.GcodeParserException;
import com.willwinder.universalgcodesender.gcode.GcodeState;
import com.willwinder.universalgcodesender.i18n.Localization;
import java.util.ArrayList;
import java.util.List;
/**
*
* @author wwinder
*/
public class CommandLengthProcessor implements ICommandProcessor {
final private int length;
public CommandLengthProcessor(int length) {
this.length = length;
}
@Override
public String getHelp() {
return Localization.getString("sender.help.command.length") + "\n" +
Localization.getString("sender.command.length")
+ ": " + length;
}
@Override
public List<String> processCommand(String command, GcodeState state) throws GcodeParserException {
if (command.length() > length)
throw new GcodeParserException("Command '" + command + "' is longer than " + length + " characters.");
List<String> ret = new ArrayList<>();
ret.add(command);
return ret;
}
}