package forge; import java.util.ArrayList; import java.util.Iterator; /** * <p>CommandList class.</p> * * @author Forge * @version $Id: $ */ public class CommandList implements java.io.Serializable, Command, Iterable<Command> { /** Constant <code>serialVersionUID=-1532687201812613302L</code> */ private static final long serialVersionUID = -1532687201812613302L; private ArrayList<Command> a = new ArrayList<Command>(); public CommandList() { ; } public CommandList(Command c) { a.add(c); } /** * <p>iterator.</p> * * @return a {@link java.util.Iterator} object. */ public Iterator<Command> iterator() { return a.iterator(); } //bug fix, when token is pumped up like with Giant Growth //and Sorceress Queen targets token, the effects need to be done //in this order, weird I know, DO NOT CHANGE THIS /** * <p>add.</p> * * @param c a {@link forge.Command} object. */ public void add(Command c) { a.add(0, c); } /** * <p>get.</p> * * @param i a int. * @return a {@link forge.Command} object. */ public Command get(int i) { return (Command) a.get(i); } /** * <p>remove.</p> * * @param i a int. * @return a {@link forge.Command} object. */ public Command remove(int i) { return (Command) a.remove(i); } /** * <p>size.</p> * * @return a int. */ public int size() { return a.size(); } /** * <p>clear.</p> */ public void clear() { a.clear(); } /** * <p>execute.</p> */ public void execute() { for (int i = 0; i < size(); i++) get(i).execute(); } }