org.apache.geode.management.cli

## Class CommandService

- java.lang.Object
- - org.apache.geode.management.cli.CommandService

-     public abstract class CommandService
      extends java.lang.Object

  Processes remote GemFire Command Line Interface (CLI) commands. Refer to the vFabric GemFire documentation for information regarding local vs. remote commands.

  NOTE: `CommandService` is currently available only on GemFire Manager nodes.

  Since:
    GemFire 7.0

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected static java.util.Map<java.lang.String,java.lang.String>` | `EMPTY_ENV`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CommandService()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract CommandStatement` | `createCommandStatement(java.lang.String commandString)` Creates a `CommandStatement` from the specified command string.
    `protected abstract CommandStatement` | `createCommandStatement(java.lang.String commandString, java.util.Map<java.lang.String,java.lang.String> env)` Creates a `CommandStatement` from the specified command string.
    `static CommandService` | `createLocalCommandService(Cache cache)` Returns a newly created or existing instance of the `CommandService`associated with the specified `Cache`.``
    `static CommandService` | `getUsableLocalCommandService()` Returns an existing 'usable' `CommandService>`.
    `abstract boolean` | `isUsable()` Returns whether the underlying `Cache` exists and is not closed.
    `abstract Result` | `processCommand(java.lang.String commandString)` Processes the specified command string.
    `protected abstract Result` | `processCommand(java.lang.String commandString, java.util.Map<java.lang.String,java.lang.String> env)` Processes the specified command string.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### EMPTY_ENV

          protected static final java.util.Map<java.lang.String,java.lang.String> EMPTY_ENV

  - ### Constructor Detail

    - #### CommandService

          public CommandService()

  - ### Method Detail

    - #### isUsable

          public abstract boolean isUsable()

      Returns whether the underlying `Cache` exists and is not closed. The Cache must be ready in order for commands to be processed using this `CommandService`. A call to this method should be made before attempting to process commands.
      Returns:
        True if the `Cache` exists and is not closed, false otherwise.

    - #### processCommand

          public abstract Result processCommand(java.lang.String commandString)

      Processes the specified command string. Only remote commands can be processed using this method. Refer to the vFabric GemFire documentation for details.
      Parameters:
        `commandString` - Command string to be processed.
      Returns:
        The `Result` of the execution of this command string.

    - #### processCommand

          protected abstract Result processCommand(java.lang.String commandString,
                                                   java.util.Map<java.lang.String,java.lang.String> env)

      Processes the specified command string. Only remote commands can be processed using this method. Refer to the vFabric GemFire documentation for details.
      Parameters:
        `commandString` - Command string to be processed.
        `env` - Environmental values that will be used during the execution of this command.
      Returns:
        The `Result` of the execution of this command string.

    - #### createCommandStatement

          public abstract CommandStatement createCommandStatement(java.lang.String commandString)

      Creates a `CommandStatement` from the specified command string. Only remote commands can be processed using this method. Refer to the vFabric GemFire documentation for details.
      Parameters:
        `commandString` - Command string from which to create a `CommandStatement`.
      Returns:
        A `CommandStatement` which can be used to repeatedly process the same command.
      See Also:
        `CommandStatement.process()`

    - #### createCommandStatement

          protected abstract CommandStatement createCommandStatement(java.lang.String commandString,
                                                                     java.util.Map<java.lang.String,java.lang.String> env)

      Creates a `CommandStatement` from the specified command string. Only remote commands can be processed using this method. Refer to the vFabric GemFire documentation for details.
      Parameters:
        `commandString` - Command string from which to create a `CommandStatement`.
        `env` - Environmental values that will be used during the execution of this command.
      Returns:
        A `CommandStatement` which can be used to repeatedly process the same command.
      See Also:
        `CommandStatement.process()`

    - #### createLocalCommandService

          public static CommandService createLocalCommandService(Cache cache)
                                                          throws CommandServiceException

      Returns a newly created or existing instance of the `CommandService`associated with the specified `Cache`.``
      Parameters:
        `cache` - Underlying `Cache` instance to be used to create a Command Service.
      Throws:
        `CommandServiceException` - If command service could not be initialized.

    - #### getUsableLocalCommandService

          public static CommandService getUsableLocalCommandService()

      Returns an existing 'usable' `CommandService>`. A `CommandService` is considered usable if at has an underlying `Cache` which is not closed.
      Returns:
        A usable `CommandService` or null if one cannot be found.