Package py4j.commands

Class AbstractCommand

    • Constructor Summary

      Constructors 
      Constructor Description
      AbstractCommand()  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      abstract void execute​(java.lang.String commandName, java.io.BufferedReader reader, java.io.BufferedWriter writer)  
      protected java.util.List<java.lang.Object> getArguments​(java.io.BufferedReader reader)  
      java.lang.String getCommandName()  
      protected java.util.List<java.lang.String> getStringArguments​(java.io.BufferedReader reader)  
      void init​(Gateway gateway, Py4JServerConnection connection)
      Called when a command instance is created and assigned to a connection.
      protected ReturnObject invokeMethod​(java.lang.String methodName, java.lang.String targetObjectId, java.util.List<java.lang.Object> arguments)
      Convenient shortcut to invoke a method dynamically.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • gateway

        protected Gateway gateway
      • commandName

        protected java.lang.String commandName
    • Constructor Detail

      • AbstractCommand

        public AbstractCommand()
    • Method Detail

      • execute

        public abstract void execute​(java.lang.String commandName,
                                     java.io.BufferedReader reader,
                                     java.io.BufferedWriter writer)
                              throws Py4JException,
                                     java.io.IOException
        Specified by:
        execute in interface Command
        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.
        java.io.IOException - If an error occurs while using the reader or the writer.
      • getArguments

        protected java.util.List<java.lang.Object> getArguments​(java.io.BufferedReader reader)
                                                         throws java.io.IOException
        Parameters:
        reader -
        Returns:
        A list of the remaining arguments (converted using Protocol.getObject) in the reader. Consumes the end of command part.
        Throws:
        java.io.IOException
      • getCommandName

        public java.lang.String getCommandName()
        Specified by:
        getCommandName in interface Command
      • getStringArguments

        protected java.util.List<java.lang.String> getStringArguments​(java.io.BufferedReader reader)
                                                               throws java.io.IOException
        Parameters:
        reader -
        Returns:
        A list of the remaining arguments (as strings) in the reader. Consumes the end of command part.
        Throws:
        java.io.IOException
      • invokeMethod

        protected ReturnObject invokeMethod​(java.lang.String methodName,
                                            java.lang.String targetObjectId,
                                            java.util.List<java.lang.Object> arguments)

        Convenient shortcut to invoke a method dynamically.

        Parameters:
        methodName -
        targetObjectId -
        arguments -
        Returns: