Automation Anywhere ドキュメントを読んで確認する

Automation Anywhere Automation 360

コンテンツを閉じる

コンテンツ

コンテンツを開く

ループ アクションにカスタム パッケージで反復子を追加する

  • 更新済み: 4/03/2020
    • Automation 360 v.x
    • 構築
    • RPA Workspace

ループ アクションにカスタム パッケージで反復子を追加する

ループ actionのパッケージで反復子を追加します。

ループ アクションに反復子を追加する

  • 反復子を作成するには、反復子 の値を持つ BotCommand 注釈の commandType プロパティを設定します。
  • 反復子に必要な方法は 2 つあり、HasNext および Next 注釈により定義されます。
@BotCommand(commandType = BotCommand.CommandType.Iterator)
@CommandPkg(name = "loop.iterators.files",
        label = "For each file in folder",
        node_label = "for each file and assign file name and extension to {{returnTo}}",
        description = "Iterator for each file in folder.",
        return_type = DataType.DICTIONARY,
        return_sub_type = DataType.STRING,
        return_required = true,
        return_description = "Note: Access the 'name' key to access file name and 'extension' 
        key to access the file extension.",
        return_label = "Assign file name and extension to this variable")
public class FileLoop extends AbstractCommandFileIterator {
 
    @Idx(index = "1", type = AttributeType.TEXT)
    @Pkg(label = "Folder path")
    @Inject
    @NotEmpty
    private String folderPath;
 
    @HasNext
    public boolean hasNext() {
        return getFileIterator(folderPath).hasNext();
    }
 
    @Next
    public Value<?> next() {
        Map<String, Value> returnValueMap = new HashMap<>();
 
        FileIterator fileIterator = getFileIterator(folderPath);
        String fileName = fileIterator.getNext();
 
        returnValueMap.put(FILE_NAME, new StringValue(fileIterator.getFileName(fileName)));
        returnValueMap.put(EXTENSION, new StringValue(fileIterator.getExtension(fileName)));
 
        return new DictionaryValue(returnValueMap);
 
    }
 
    public void setFolderPath(String folderPath) {
        this.folderPath = folderPath;
    }
}
フィードバックを送る