# Class CliCommand

java.lang.Object
org.apache.zookeeper.cli.CliCommand

Direct Known Subclasses:
  `AddAuthCommand, AddWatchCommand, CloseCommand, CreateCommand, DeleteAllCommand, DeleteCommand, DelQuotaCommand, GetAclCommand, GetAllChildrenNumberCommand, GetCommand, GetConfigCommand, GetEphemeralsCommand, ListQuotaCommand, LsCommand, ReconfigCommand, RemoveWatchesCommand, SetAclCommand, SetCommand, SetQuotaCommand, StatCommand, SyncCommand, VersionCommand, WhoAmICommand`

public abstract class CliCommand extends Object
base class for all CLI commands

## Field Summary

Fields
Modifier and Type
Field
Description
`protected PrintStream`
`err`
`protected PrintStream`
`out`
`protected ZooKeeper`
`zk`

## Constructor Summary

Constructors
Constructor
Description
`CliCommand(String cmdStr, String optionStr)`
a CLI command with command string and options.
`CliCommand(String cmdStr, String optionStr, org.apache.commons.cli.Options options)`
a CLI command with command string and options.

## Method Summary

Modifier and Type
Method
Description
`void`
`addToMap(Map<String, CliCommand> cmdMap)`
add this command to a map.
`abstract boolean`
`exec()`
`String`
`getCmdStr()`
get the string used to call this command
`String`
`getOptionStr()`
get the option string
`String`
`getUsageStr()`
get a usage string, contains the command and the options
`abstract CliCommand`
`parse(String[] cmdArgs)`
parse the command arguments
`void`
`setErr(PrintStream err)`
Set err printStream (usable for testing)
`void`
`setOut(PrintStream out)`
Set out printStream (usable for testing)
`void`
`setZk(ZooKeeper zk)`
set the zookeeper instance

### Methods inherited from class Object

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

## Field Details

### zk

protected ZooKeeper zk

### out

protected PrintStream out

### err

protected PrintStream err

## Constructor Details

### CliCommand

public CliCommand(String cmdStr, String optionStr)
a CLI command with command string and options. Using System.out and System.err for printing

Parameters:
  `cmdStr` - the string used to call this command
  `optionStr` - the string used to call this command

### CliCommand

public CliCommand(String cmdStr, String optionStr, org.apache.commons.cli.Options options)
a CLI command with command string and options. Using System.out and System.err for printing

Parameters:
  `cmdStr` - the string used to call this command
  `optionStr` - the string used to call this command
  `options` - the command options

## Method Details

### setOut

public void setOut(PrintStream out)
Set out printStream (usable for testing)

Parameters:
  `out` -

### setErr

public void setErr(PrintStream err)
Set err printStream (usable for testing)

Parameters:
  `err` -

### setZk

public void setZk(ZooKeeper zk)
set the zookeeper instance

Parameters:
  `zk` - the ZooKeeper instance.

### getCmdStr

public String getCmdStr()
get the string used to call this command

### getOptionStr

public String getOptionStr()
get the option string

### getUsageStr

public String getUsageStr()
get a usage string, contains the command and the options

### addToMap

public void addToMap(Map<String, CliCommand> cmdMap)
add this command to a map. Use the command string as key.

Parameters:
  `cmdMap` -

### parse

public abstract CliCommand parse(String[] cmdArgs) throws CliParseException
parse the command arguments

Parameters:
  `cmdArgs` -
Returns:
  this CliCommand
Throws:
  `CliParseException`

### exec

public abstract boolean exec() throws CliException

Returns:
  true if command has watch option, false otherwise
Throws:
  `CliException`