创建和函数注释
- Updated: 2021/05/10
可用创建和函数注释的列表。
注释: BotCommand
使类型有资格被视为 action
。 您可以定义三种类型的操作
commandType
属性。
- 命令\操作
- 条件
- 迭代器
-
@BotCommand(commandType = BotCommand.CommandType.Iterator)
-
@BotCommand(commandType = Condition)
-
@BotCommand(commandType = Varialbe)
-
@BotCommand(commandType = Trigger)
注释: CommandPkg
使类型符合创建操作 package.json 的条件。 此注释必须与 BotCommand 一起使用才能生效。仅当存在此注释时, Pkg 才参与活动。
示例:@CommandPkg(label = "Create", name = "createFile", description = "Creates a file", node_label = "{{filePath}}", icon = "file.svg")
注释: 条件测试
参与 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 注释时,需要对一种方法进行注释。 否则将导致编译错误。
注释: 索引
使注释元素成为用于代码和资源生成的层次结构的一部分。 如果没有此注释,则不会处理任何 BotCommand 相关元素注释。
注释: 选项索引
选项表示将在层级中起作用的元素,但将值借给父级。
示例:- 单选按钮
@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)
注释: 注入
使元素有资格注入到带注释的类型对象中。 注入是基于 setter 的,因此类型中的对应 setter 是 mandatory。 注入的值将使用 Idx 中提供的名称,形成 BotCommand 参数映射。
注释: 下一页
参与 迭代器 的执行。 仅在 BotCommand 将 commandType 设置为 迭代器 时,才能使用此注释。 需要存在 HasNext 注释。 当类型上存在 BotCommand 注释时,需要对一种方法进行注释。 否则将导致编译错误。
注释: Pkg
使元素参与 package.json 创建。 当 Idx 不存在时,忽略此注释。