BotCommand |
使类型有资格被视为 action 。您可以定义 3 种类型的操作 commandType 属性。示例:
@BotCommand(commandType = BotCommand.CommandType.Iterator)
@BotCommand(commandType = Condition)
|
CommandPkg |
使类型符合创建操作 package.json 的条件。此注释必须与 BotCommand 一起使用才能生效。 仅当存在此注释时,Pkg才参与活动。 示例: @CommandPkg(label = "Create", name = "createFile",
description = "Creates a file", node_label = "{{filePath}}",
icon = "file.svg")
|
ConditionTest |
参与 Condition 执行。 仅当 BotCommand 将 commandType设置为 Condition 时,才能使用此注释。
在类型上存在 BotCommand 注释时,只需对一种方法进行注释。否则将导致编译错误。 |
执行 |
参与执行 BotCommand。在类型上存在 BotCommand 注释时,只需要注释一个方法。否则将导致编译错误。示例: @Execute public void create( @Idx(index = "1", type = FILE) @LocalFile @Pkg(label =
"File", description = "e.g. C:\\MyDoc\\MyFile.doc") @NotEmpty String filePath,
@Idx(index = "2", type = CHECKBOX) @Pkg(label = "Overwrite an existing file")
@NotEmpty Boolean isOverwrite) { createFile(filePath, isOverwrite); }
|
GlobalSessionContext |
只能应用于成员变量,并通过 setter 获取 GlobalSessionContext。示例: @com.automationanywhere.commandsdk.annotations.GlobalSessionContext
private GlobalSessionContext globalSessionContext;
public void setSessionMap(Map < String, Object > sessionMap) {
this.sessionMap = sessionMap;
}
public void setGlobalSessionContext(com.automationanywhere.bot.service.GlobalSessionContext globalSessionContext) {
this.globalSessionContext = globalSessionContext;
}
|
HasNext |
参与 Iterator 的执行。 仅在 BotCommand 将 commandType 设置为 Iterator 时,才能使用此注释。 需要 Next 注释。 当类型上存在 BotCommand 注释时,需要对一种方法进行注释。否则将导致编译错误。 |
Idx |
使注释元素成为用于代码和资源生成的层次结构的一部分。如果没有此注释,则不会处理任何 BotCommand 相关元素注释。 |
Idx.Option |
选项表示将在层级中起作用的元素,但将值借给父级。
示例:
- 单选按钮
@Idx(index = "1", type = RADIO, options = {
@Idx.Option(index = "1.1", pkg = @Pkg(node_label = "[[Delay.delayType.1.1.node_label]]", label = "[[Delay.delayType.1.1.label]]", value = REGULAR)),
@Idx.Option(index = "1.2", pkg = @Pkg(node_label = "[[Delay.delayType.1.2.node_label]]", label = "[[Delay.delayType.1.2.label]]", value = RANDOM))
})
@Pkg(label = "[[Delay.delayType.label]]", default_value = "REGULAR", default_value_type = DataType.STRING)
@Inject
private String delayType;
- 选择
@Idx(index = "2", type = SELECT, options = {
@Idx.Option(index = "2.1", pkg = @Pkg(label = "[[LaunchWebsite.browser.2.1.label]]", value = "DEFAULT")),
@Idx.Option(index = "2.2", pkg = @Pkg(label = "[[LaunchWebsite.browser.2.2.label]]", value = "INTERNET_EXPLORER")),
@Idx.Option(index = "2.3", pkg = @Pkg(label = "[[LaunchWebsite.browser.2.3.label]]", value = "FIREFOX")),
@Idx.Option(index = "2.4", pkg = @Pkg(label = "[[LaunchWebsite.browser.2.4.label]]", value = "CHROME"))
}) @Pkg(label = "[[LaunchWebsite.browser.label]]", default_value = "DEFAULT", default_value_type = DataType.STRING) @NotEmptyStringbrowser)
|
Inject |
使元素有资格注入到带注释的类型对象中。注入是基于 setter 的,因此类型中的对应 setter 是 mandatory。注入的值将形成 BotCommand 参数映射,使用 Idx 中提供的名称。 |
Next |
参与 Iterator 的执行。 仅在 BotCommand 将 commandType 设置为Iterator 时,才能使用此注释。 需要存在 HasNext 注释。 当类型上存在 BotCommand 注释时,需要对一种方法进行注释。否则将导致编译错误。 |
Pkg |
使元素参与 package.json 创建。当 Idx 不存在时,忽略此注释。 |