Class SubCommand
java.lang.Object
com.github.theword.queqiao.tool.command.SubCommand
- Direct Known Subclasses:
ClientCommand,HelpCommand,InfoCommand,ListCommand,ReconnectAllCommand,ReconnectCommand,ReloadCommand,RootCommand,ServerCommand
子命令抽象类
采用树形结构管理命令层级关系
所有命令均需继承此类
- Since:
- 0.5.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final List<SubCommand>子命令列表protected SubCommand父命令节点 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddChild(SubCommand child) 添加子命令int执行命令获取所有子命令abstract String获取命令描述获取完整命令路径获取完整权限节点abstract StringgetName()获取命令名称获取父命令获取命令权限节点getUsage()获取命令用法booleanisRoot()判断是否为根命令protected abstract void执行命令逻辑voidsendCommandTree(Object commandReturner, SubCommand command) 递归发送指定命令以及所有子命令的树形结构
-
Field Details
-
parent
父命令节点 -
children
子命令列表
-
-
Constructor Details
-
SubCommand
public SubCommand()
-
-
Method Details
-
addChild
添加子命令- Parameters:
child- 子命令
-
getChildren
获取所有子命令- Returns:
- 子命令列表
-
getParent
获取父命令- Returns:
- 父命令节点
-
isRoot
public boolean isRoot()判断是否为根命令- Returns:
- 是否为根命令
-
getFullPath
获取完整命令路径示例:/queqiao client list
- Returns:
- 完整命令路径
-
getFullPermissionNode
获取完整权限节点从根节点开始拼接,示例:queqiao.client.list
- Returns:
- 完整权限节点
-
getName
获取命令名称- Returns:
- 命令名称
-
getDescription
获取命令描述- Returns:
- 命令描述
-
getUsage
获取命令用法默认返回完整路径,子类可以覆盖以添加参数说明
- Returns:
- 命令用法
-
getPermissionNode
获取命令权限节点默认返回完整权限节点,子类可以覆盖以自定义权限
- Returns:
- 权限节点
-
execute
执行命令- Parameters:
commandReturner- 命令执行者args- 命令参数- Since:
- 0.5.0
-
onExecute
执行命令逻辑- Parameters:
commandReturner- 命令执行者args- 命令参数
-
sendCommandTree
递归发送指定命令以及所有子命令的树形结构- Parameters:
commandReturner- 命令执行者command- 当前命令节点
-