public interface LinCommand
Linlang 命令服务。
命令由规范字符串、执行器、权限、执行目标、描述和参数标签组成。规范字符串的 解析规则由运行时实现提供。
-
嵌套类概要
嵌套类修饰符和类型接口说明static interface命令执行器。static interface单次命令执行上下文。static final record命令描述的静态国际化文本。static enum命令允许的发送者类型。static interface延迟 i18n 提供者:在渲染 usage/help 时根据当前语言动态取值。static interface静态国际化参数标签构建器。static interface延迟国际化参数标签构建器。static interface参数解析上下文。static final record命令权限要求。static interface自定义命令参数类型解析器。 -
方法概要
修饰符和类型方法说明通过“参数名、locale、文本”三元组构造静态标签映射。static Map<String,LinCommand.I18nSupplier> lazyLabels(Object... kv2) 通过“参数名、提供者”对构造延迟标签映射。default LinCommandregister(String spec, LinCommand.CommandExecutor exec, LinCommand.Permission perm, LinCommand.ExecTarget target, LinCommand.Desc desc) 注册不包含参数标签的静态国际化命令。default LinCommandregister(String spec, LinCommand.CommandExecutor exec, LinCommand.Permission perm, LinCommand.ExecTarget target, LinCommand.Desc desc, LinCommand.Labels labels) 使用标签构建器注册静态国际化命令。register(String spec, LinCommand.CommandExecutor exec, LinCommand.Permission perm, LinCommand.ExecTarget target, LinCommand.Desc desc, Map<String, Map<String, String>> labelsI18n) 注册带静态国际化文本的命令。default LinCommandregisterLazy(String spec, LinCommand.CommandExecutor exec, LinCommand.Permission perm, LinCommand.ExecTarget target, LinCommand.I18nSupplier descProvider) 注册不包含参数标签的延迟国际化命令。default LinCommandregisterLazy(String spec, LinCommand.CommandExecutor exec, LinCommand.Permission perm, LinCommand.ExecTarget target, LinCommand.I18nSupplier descProvider, LinCommand.LazyLabels labels) 使用标签构建器注册延迟国际化命令。registerLazy(String spec, LinCommand.CommandExecutor exec, LinCommand.Permission perm, LinCommand.ExecTarget target, LinCommand.I18nSupplier descProvider, Map<String, LinCommand.I18nSupplier> labelProviders) 注册命令(延迟 i18n 版本)。
-
方法详细资料
-
register
LinCommand register(String spec, LinCommand.CommandExecutor exec, LinCommand.Permission perm, LinCommand.ExecTarget target, LinCommand.Desc desc, Map<String, Map<String, String>> labelsI18n) 注册带静态国际化文本的命令。- 参数:
spec- 命令规范字符串exec- 命令执行器perm- 权限要求,可为nulltarget- 允许的执行目标desc- 命令描述,可为nulllabelsI18n- 参数名到 locale 文本的映射- 返回:
- 当前命令服务
-
registerLazy
LinCommand registerLazy(String spec, LinCommand.CommandExecutor exec, LinCommand.Permission perm, LinCommand.ExecTarget target, LinCommand.I18nSupplier descProvider, Map<String, LinCommand.I18nSupplier> labelProviders) 注册命令(延迟 i18n 版本)。描述与参数标签通过
LinCommand.I18nSupplier延迟取值:语言切换后无需重注册命令,help/usage 会自动使用新语言。- 参数:
spec- 命令规范字符串exec- 执行器perm- 权限target- 执行目标descProvider- 命令描述的延迟提供者(可为 null)labelProviders- 参数标签提供者:paramName -> supplier(可为 null/空)- 返回:
- 当前命令服务
-
registerLazy
default LinCommand registerLazy(String spec, LinCommand.CommandExecutor exec, LinCommand.Permission perm, LinCommand.ExecTarget target, LinCommand.I18nSupplier descProvider) 注册不包含参数标签的延迟国际化命令。- 参数:
spec- 命令规范字符串exec- 命令执行器perm- 权限要求,可为nulltarget- 允许的执行目标descProvider- 命令描述提供者,可为null- 返回:
- 当前命令服务
-
register
default LinCommand register(String spec, LinCommand.CommandExecutor exec, LinCommand.Permission perm, LinCommand.ExecTarget target, LinCommand.Desc desc) 注册不包含参数标签的静态国际化命令。- 参数:
spec- 命令规范字符串exec- 命令执行器perm- 权限要求,可为nulltarget- 允许的执行目标desc- 命令描述,可为null- 返回:
- 当前命令服务
-
lazyLabels
通过“参数名、提供者”对构造延迟标签映射。- 参数:
kv2- 交替排列的参数名和LinCommand.I18nSupplier- 返回:
- 标签映射
- 抛出:
IllegalArgumentException- 参数数量为奇数时ClassCastException- 提供者不是LinCommand.I18nSupplier时
-
labels
通过“参数名、locale、文本”三元组构造静态标签映射。- 参数:
kv3- 重复排列的参数名、locale 和文本- 返回:
- 标签映射
-
register
default LinCommand register(String spec, LinCommand.CommandExecutor exec, LinCommand.Permission perm, LinCommand.ExecTarget target, LinCommand.Desc desc, LinCommand.Labels labels) 使用标签构建器注册静态国际化命令。- 参数:
spec- 命令规范字符串exec- 命令执行器perm- 权限要求,可为nulltarget- 允许的执行目标desc- 命令描述,可为nulllabels- 参数标签构建器- 返回:
- 当前命令服务
-
registerLazy
default LinCommand registerLazy(String spec, LinCommand.CommandExecutor exec, LinCommand.Permission perm, LinCommand.ExecTarget target, LinCommand.I18nSupplier descProvider, LinCommand.LazyLabels labels) 使用标签构建器注册延迟国际化命令。- 参数:
spec- 命令规范字符串exec- 命令执行器perm- 权限要求,可为nulltarget- 允许的执行目标descProvider- 命令描述提供者,可为nulllabels- 参数标签构建器,可为null- 返回:
- 当前命令服务
-