AbstractCommand (py4j-java 0.10.9.7 API)

Package py4j.commands

## Class AbstractCommand

- java.lang.Object
- - py4j.commands.AbstractCommand

- All Implemented Interfaces:
    `Command`
  Direct Known Subclasses:
    `ArrayCommand`, `AuthCommand`, `CallCommand`, `ConstructorCommand`, `DirCommand`, `ExceptionCommand`, `FieldCommand`, `HelpPageCommand`, `JVMViewCommand`, `ListCommand`, `MemoryCommand`, `ReflectionCommand`, `ShutdownGatewayServerCommand`, `StreamCommand`

      public abstract class AbstractCommand
      extends java.lang.Object
      implements Command

  Abstract base class for commands. Provides useful methods allowing the parsing of command arguments.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected java.lang.String` | `commandName` |
    `protected Py4JServerConnection` | `connection` |
    `protected Gateway` | `gateway` |

  - ### 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

    - #### connection

          protected Py4JServerConnection connection

  - ### 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`

    - #### init

          public void init​(Gateway gateway,
                           Py4JServerConnection connection)

      Description copied from interface: `Command`

      Called when a command instance is created and assigned to a connection.

      Specified by:
        `init` in interface `Command`
        `connection` - the `Py4JServerConnection` this socket is assigned to

    - #### 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: