commit
74f04a13f8
@ -1,23 +1,24 @@
|
|||||||
package mock.model.commandFactory;
|
package mock.model.commandFactory;
|
||||||
|
|
||||||
import java.util.Stack;
|
import java.util.ArrayDeque;
|
||||||
|
import java.util.Queue;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Wraps multiple commands into a composite to execute queued commands during a frame.
|
* Wraps multiple commands into a composite to execute queued commands during a frame.
|
||||||
*/
|
*/
|
||||||
public class CompositeCommand implements Command {
|
public class CompositeCommand implements Command {
|
||||||
private Stack<Command> commands;
|
private Queue<Command> commands;
|
||||||
|
|
||||||
public CompositeCommand() {
|
public CompositeCommand() {
|
||||||
this.commands = new Stack<>();
|
this.commands = new ArrayDeque<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addCommand(Command command) {
|
public void addCommand(Command command) {
|
||||||
commands.push(command);
|
commands.add(command);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void execute() {
|
public void execute() {
|
||||||
while(!commands.isEmpty()) commands.pop().execute();
|
while(!commands.isEmpty()) commands.remove().execute();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in new issue