py4j
Class CallCommand
java.lang.Object
py4j.AbstractCommand
py4j.CallCommand
- All Implemented Interfaces:
- Command
public class CallCommand
- extends AbstractCommand
A CallCommand is responsible for parsing a call command and calling the
method on the target object.
Currently, the call command assumes that a command is well-formed and that
there is no communication problem (e.g., the source virtual machine
disconnected in the middle of a command). This is a reasonable assumption
because the two virtual machines are assumed to be on the same host.
TODO: Make the call command more robust to communication errors and
ill-formed protocol.
- Author:
- Barthelemy Dagenais
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CALL_COMMAND_NAME
public static final String CALL_COMMAND_NAME
- See Also:
- Constant Field Values
CallCommand
public CallCommand()
execute
public void execute(String commandName,
BufferedReader reader,
BufferedWriter writer)
throws Py4JException,
IOException
- Specified by:
execute
in interface Command
- Specified by:
execute
in class AbstractCommand
- Parameters:
commandName
- 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.
- Throws:
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.