public abstract class AbstractCommand extends Object implements Command
Abstract base class for commands. Provides useful methods allowing the parsing of command arguments.
| Modifier and Type | Field and Description |
|---|---|
protected String |
commandName |
protected Gateway |
gateway |
| Constructor and Description |
|---|
AbstractCommand() |
| Modifier and Type | Method and Description |
|---|---|
abstract void |
execute(String commandName,
BufferedReader reader,
BufferedWriter writer) |
protected List<Object> |
getArguments(BufferedReader reader) |
String |
getCommandName() |
protected List<String> |
getStringArguments(BufferedReader reader) |
void |
init(Gateway gateway)
Called when a command instance is created and assigned to a connection.
|
protected ReturnObject |
invokeMethod(String methodName,
String targetObjectId,
List<Object> arguments)
Convenient shortcut to invoke a method dynamically.
|
public abstract void execute(String commandName, BufferedReader reader, BufferedWriter writer) throws Py4JException, IOException
execute in interface CommandcommandName - The command name that was extracted of the command.reader - The reader from which to read the command parts. Each command
part are expected to be on a separate line and readable
through BufferedReader.readLine().writer - The writer to which the return value should be written.Py4JException - If an error occurs while executing the command. All
exceptions except IOException caused by the reader and the
writer should be wrapper in a Py4JException instance.IOException - If an error occurs while using the reader or the writer.protected List<Object> getArguments(BufferedReader reader) throws IOException
reader - IOExceptionpublic String getCommandName()
getCommandName in interface Commandprotected List<String> getStringArguments(BufferedReader reader) throws IOException
reader - IOExceptionpublic void init(Gateway gateway)
CommandCalled when a command instance is created and assigned to a connection.
protected ReturnObject invokeMethod(String methodName, String targetObjectId, List<Object> arguments)
Convenient shortcut to invoke a method dynamically.
methodName - targetObjectId - arguments -