## Uses of Interface
py4j.commands.Command

- Packages that use Command
  Package | Description
  --- | ---
  py4j |
  py4j.commands |

- - ### Uses of Command in py4j

    Fields in py4j with type parameters of type Command
    Modifier and Type | Field and Description
    --- | ---
    `protected static List<Class<? extends Command>>` | GatewayConnection.`baseCommands`
    `protected Map<String,Command>` | GatewayConnection.`commands`

    Methods in py4j that return types with arguments of type Command
    Modifier and Type | Method and Description
    --- | ---
    `static List<Class<? extends Command>>` | GatewayConnection.`getBaseCommands()`
    `List<Class<? extends Command>>` | GatewayServer.`getCustomCommands()`

    Method parameters in py4j with type arguments of type Command
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | GatewayConnection.`initCommands(Gateway gateway, List<Class<? extends Command>> commandsClazz)` Override this method to initialize custom commands.

    Constructor parameters in py4j with type arguments of type Command
    Constructor and Description
    `GatewayConnection(Gateway gateway, Socket socket, List<Class<? extends Command>> customCommands, List<GatewayServerListener> listeners)`
    `GatewayServer(Object entryPoint, int port, int pythonPort, InetAddress address, InetAddress pythonAddress, int connectTimeout, int readTimeout, List<Class<? extends Command>> customCommands)`
    `GatewayServer(Object entryPoint, int port, int pythonPort, int connectTimeout, int readTimeout, List<Class<? extends Command>> customCommands)`
    `GatewayServer(Object entryPoint, int port, int connectTimeout, int readTimeout, List<Class<? extends Command>> customCommands, CallbackClient cbClient)`

  - ### Uses of Command in py4j.commands

    Classes in py4j.commands that implement Command
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractCommand` Abstract base class for commands.
    `class` | `ArrayCommand` A ArrayCommand is responsible for handling operations on arrays.
    `class` | `CallCommand` A CallCommand is responsible for parsing a call command and calling the method on the target object.
    `class` | `ConstructorCommand` A ConstructorCommand is responsible for calling the constructors of a Java class.
    `class` | `DirCommand`
    `class` | `ExceptionCommand`
    `class` | `FieldCommand` A FieldCommand is responsible for accessing and setting fields of objects.
    `class` | `HelpPageCommand` A HelpPageCommand is responsible for generating a help page for a Java object or Java class.
    `class` | `JVMViewCommand` A JVMViewCommand is responsible for managing JVM views: creating views, adding imports, searching for fully qualified names.
    `class` | `ListCommand` A ListCommand is responsible for handling operations on lists (e.g., slicing).
    `class` | `MemoryCommand` The MemoryCommand is responsible for handling garbage collection requests from the Python side, i.e., when a java object is no longer used by the Python program.
    `class` | `ReflectionCommand` The ReflectionCommand is responsible for accessing packages, classes, and static members.
    `class` | `ShutdownGatewayServerCommand` The ShutdownGatewayServerCommand is responsible for shutting down the GatewayServer.