package main; import java.util.LinkedList; import java.util.Queue; /** * The queue of commands to be executed every step. * * @author Maurice Laveaux */ public class CommandQueue { // the list of commands executed in this order. private final Queue m_commands; public CommandQueue() { m_commands = new LinkedList(); } /** * Add another command to the last position in the queue. * * @param command Any command that can be executed. */ public void add(ICommand command) { m_commands.offer(command); } /** * Execute every command that is in the queue. */ public void executeAll() { while (!m_commands.isEmpty()) { ICommand command = m_commands.poll(); command.execute(); } } }