# RootCommand (ACF (Core) 0.5.1-SNAPSHOT API)
declaration: package: co.aikar.commands, interface: RootCommand

Package co.aikar.commands

# Interface RootCommand

public interface RootCommand

## Method Summary

Modifier and Type
Method
Description
`void`
`addChild(BaseCommand command)`
`default void`
`addChildShared(List<BaseCommand> children, com.google.common.collect.SetMultimap<String,RegisteredCommand> subCommands, BaseCommand command)`
`default BaseCommand`
`execute(CommandIssuer sender, String commandLabel, String[] args)`
`List<BaseCommand>`
`getChildren()`
`String`
`getCommandName()`
`default RegisteredCommand`
`getDefaultRegisteredCommand()`
`default BaseCommand`
`getDefCommand()`
`default String`
`getDescription()`
`CommandManager`
`getManager()`
`com.google.common.collect.SetMultimap<String,RegisteredCommand>`
`getSubCommands()`
`default List<String>`
`getTabCompletions(CommandIssuer sender, String alias, String[] args)`
`default List<String>`
`getTabCompletions(CommandIssuer sender, String alias, String[] args, boolean commandsOnly)`
`default List<String>`
`getTabCompletions(CommandIssuer sender, String alias, String[] args, boolean commandsOnly, boolean isAsync)`
`default String`
`getUniquePermission()`
`default String`
`getUsage()`
`default boolean`
`hasAnyPermission(CommandIssuer issuer)`

## Method Details

### addChild

void addChild (BaseCommand command)

### getManager

CommandManager getManager()

### getSubCommands

com.google.common.collect.SetMultimap<String,RegisteredCommand> getSubCommands()

### getChildren

List<BaseCommand> getChildren()

### getCommandName

String getCommandName()

### addChildShared

default void addChildShared (List<BaseCommand> children, com.google.common.collect.SetMultimap<String,RegisteredCommand> subCommands, BaseCommand command)

### getUniquePermission

default String getUniquePermission()

Returns:
  If this root command can be summarized to a single required permission node to use it, returns that value. If any RegisteredCommand is permission-less, or has multiple required permission nodes, null is returned.

### hasAnyPermission

default boolean hasAnyPermission (CommandIssuer issuer)

### execute

default BaseCommand execute (CommandIssuer sender, String commandLabel, String[] args)

### getTabCompletions

default List<String> getTabCompletions (CommandIssuer sender, String alias, String[] args)

### getTabCompletions

default List<String> getTabCompletions (CommandIssuer sender, String alias, String[] args, boolean commandsOnly)

### getTabCompletions

default List<String> getTabCompletions (CommandIssuer sender, String alias, String[] args, boolean commandsOnly, boolean isAsync)

### getDefaultRegisteredCommand

default RegisteredCommand getDefaultRegisteredCommand()

### getDefCommand

default BaseCommand getDefCommand()

### getDescription

default String getDescription()

### getUsage

default String getUsage()