TransactionCommandQueue.java

package com.tdmconsult.ete.evaluation;

import com.tdmconsult.ete.evaluation.commands.Command;
import java.util.ArrayList;
import java.util.List;

public class TransactionCommandQueue {

    private List<Command> commands = new ArrayList<>();

    public TransactionCommandQueue add(final Command command) {
        commands.add(command);
        return this;
    }

    public TransactionCommandQueue execute(final EvaluationState state) {
        commands.forEach(command -> command.execute(state));
        return this;
    }

}