Package org.apache.ignite.internal.management.api

## Interface Command<A extends IgniteDataTransferObject,​R>

Type Parameters:
  `A` - Argument type.
  `R` - Result type.

All Known Subinterfaces:
  `BeforeNodeStartCommand<A,​R>`, `CommandsRegistry<A,​R>`, `ComputeCommand<A,​R>`, `HelpCommand`, `LocalCommand<A,​R>`, `PreparableCommand<A,​R>`

All Known Implementing Classes:
  `AbstractBaselineCommand`, `AbstractSnapshotCommand`, `AbstractTracingConfigurationCommand`, `ActivateCommand`, `BaselineAddCommand`, `BaselineAutoAdjustCommand`, `BaselineCommand`, `BaselineRemoveCommand`, `BaselineSetCommand`, `BaselineVersionCommand`, `CacheCheckIndexInlineSizesCommand`, `CacheClearCommand`, `CacheCommand`, `CacheCommand.CacheHelpCommand`, `CacheContentionCommand`, `CacheCreateCommand`, `CacheDestroyCommand`, `CacheDistributionCommand`, `CacheFindGarbageCommand`, `CacheIdleVerifyCommand`, `CacheIdleVerifyDumpCommand`, `CacheIndexesForceRebuildCommand`, `CacheIndexesListCommand`, `CacheIndexesRebuildStatusCommand`, `CacheListCommand`, `CacheMetricsCommand`, `CacheResetLostPartitionsCommand`, `CacheScanCommand`, `CacheScheduleIndexesRebuildCommand`, `CacheValidateIndexesCommand`, `CdcCommand`, `CdcDeleteLostSegmentLinksCommand`, `CdcResendCommand`, `ChangeTagCommand`, `CommandRegistryImpl`, `ConsistencyCommand`, `ConsistencyFinalizeCommand`, `ConsistencyRepairCommand`, `ConsistencyStatusCommand`, `DeactivateCommand`, `DefragmentationCancelCommand`, `DefragmentationCommand`, `DefragmentationScheduleCommand`, `DefragmentationStatusCommand`, `DiagnosticCommand`, `DiagnosticCommand.DiagnosticHelpCommand`, `DiagnosticConnectivityCommand`, `DiagnosticPagelocksCommand`, `EncryptionCacheKeyIdsCommand`, `EncryptionChangeCacheKeyCommand`, `EncryptionChangeMasterKeyCommand`, `EncryptionCommand`, `EncryptionGetMasterKeyNameCommand`, `EncryptionReencryptionRateLimitCommand`, `EncryptionReencryptionStatusCommand`, `EncryptionResumeReencryptionCommand`, `EncryptionSuspendReencryptionCommand`, `IgniteCommandRegistry`, `KillClientCommand`, `KillCommand`, `KillComputeCommand`, `KillConsistencyCommand`, `KillContinuousCommand`, `KillScanCommand`, `KillServiceCommand`, `KillSnapshotCommand`, `KillSqlCommand`, `KillTransactionCommand`, `MetaCommand`, `MetaCommand.MetaHelpCommand`, `MetaDetailsCommand`, `MetaListCommand`, `MetaRemoveCommand`, `MetaUpdateCommand`, `MetricCommand`, `MetricConfigureHistogramCommand`, `MetricConfigureHitrateCommand`, `PerformanceStatisticsCommand`, `PerformanceStatisticsRotateCommand`, `PerformanceStatisticsStartCommand`, `PerformanceStatisticsStatusCommand`, `PerformanceStatisticsStopCommand`, `PersistenceAbstractCommand`, `PersistenceBackupAllCommand`, `PersistenceBackupCachesCommand`, `PersistenceBackupCommand`, `PersistenceBackupCorruptedCommand`, `PersistenceCleanAllCommand`, `PersistenceCleanCachesCommand`, `PersistenceCleanCommand`, `PersistenceCleanCorruptedCommand`, `PersistenceCommand`, `PersistenceInfoCommand`, `PropertyCommand`, `PropertyCommand.PropertyHelpCommand`, `PropertyGetCommand`, `PropertyListCommand`, `PropertySetCommand`, `SetStateCommand`, `ShutdownPolicyCommand`, `SnapshotCancelCommand`, `SnapshotCheckCommand`, `SnapshotCommand`, `SnapshotCreateCommand`, `SnapshotRestoreCommand`, `SnapshotStatusCommand`, `StateCommand`, `SystemViewCommand`, `TracingConfigurationCommand`, `TracingConfigurationGetAllCommand`, `TracingConfigurationGetCommand`, `TracingConfigurationResetAllCommand`, `TracingConfigurationResetCommand`, `TracingConfigurationSetCommand`, `TxCommand`, `TxInfoCommand`, `WalCommand`, `WalDeleteCommand`, `WalPrintCommand`, `WarmUpCommand`, `WarmUpStopCommand`

    public interface Command<A extends IgniteDataTransferObject,​R>

Management command interface.

Implementations represent single action to manage Ignite cluster.

Name of the command that is expected from caller derived from actual command class name.

- Name format: All words divided by capital letters except "Command" suffix will form hierarchical command name.
- Example: `MyUsefullCommand` is name of command so `control.sh --my-usefull param1 param2` expected from user.

Other protocols must expose command similarly. Rest API must expect `/api-root/my-usefull?param1=value1&param2=value2` URI.

### Field Summary

Fields
`static String` `CMD_NAME_POSTFIX`

### Method Summary

All Methods Instance Methods Abstract Methods Default Methods
`Class<? extends A>` `argClass()`
`default @Nullable String` `confirmationPrompt​(A arg)`
`default @Nullable String` `deprecationMessage​(A arg)`
`String` `description()` Command description.

### Field Detail

#### CMD_NAME_POSTFIX

    static final String CMD_NAME_POSTFIX

See Also:
  Constant Field Values

### Method Detail

#### description

    String description()

Command description.

#### argClass

    Class<? extends A> argClass()

Returns:
  Arguments class.

#### confirmationPrompt

    @Nullable
    default @Nullable String confirmationPrompt​(A arg)

Parameters:
  `arg` - Command argument.
Returns:
  Message text to show user for. If `null` it means that confirmation is not needed.

#### deprecationMessage

    @Nullable
    default @Nullable String deprecationMessage​(A arg)

Parameters:
  `arg` - Command argument.
Returns:
  Deprecation message if command on the way to being decomissioned.