package org.petah.spring.bai.tasks; import java.util.Queue; import java.util.concurrent.ConcurrentLinkedQueue; /** * * @author Petah */ public class NestedDynamicCommand extends DynamicCommand { protected Queue<DynamicCommand> subCommands = new ConcurrentLinkedQueue<DynamicCommand>(); @Override protected void execute() { for (DynamicCommand command : subCommands) { command.execute(aiDelegate, unit); } } public DynamicCommand addCommand(DynamicCommand command) { subCommands.add(command); return command; } public NestedDynamicCommand addCommand(NestedDynamicCommand command) { subCommands.add(command); return command; } public DynamicCondition addCommand(DynamicCondition command) { subCommands.add(command); return command; } }