Package py4j.commands
Interface Command
- All Known Implementing Classes:
AbstractCommand
,ArrayCommand
,AuthCommand
,CallCommand
,ConstructorCommand
,DirCommand
,ExceptionCommand
,FieldCommand
,HelpPageCommand
,JVMViewCommand
,ListCommand
,MemoryCommand
,ReflectionCommand
,ShutdownGatewayServerCommand
,StreamCommand
public interface Command
This interface must be implemented by all commands.
Typically, each command will define a public constant field that contains the command name, i.e., a String that uniquely identifies the command.
The command name can be a String of any length, but it must not contain an
end of line character and it cannot be the End of Command character,
Protocol.END
.
There is a command instance per GatewayConnection
: this ensures that
each command instance is accessed by only one thread/connection at a time.
- Author:
- barthelemy
-
Method Summary
Modifier and TypeMethodDescriptionvoid
execute
(String commandName, BufferedReader reader, BufferedWriter writer) void
init
(Gateway gateway, Py4JServerConnection connection) Called when a command instance is created and assigned to a connection.
-
Method Details
-
execute
void execute(String commandName, BufferedReader reader, BufferedWriter writer) throws Py4JException, IOException - 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 throughBufferedReader.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 aPy4JException
instance.IOException
- If an error occurs while using the reader or the writer.
-
getCommandName
String getCommandName() -
init
Called when a command instance is created and assigned to a connection.
- Parameters:
gateway
-connection
- thePy4JServerConnection
this socket is assigned to
-