package fit.decorator; import fit.Fixture; import fit.Parse; import fit.decorator.exceptions.InvalidInputException; import fit.decorator.util.Table; public class CopyAndAppendLastRow extends FixtureDecorator { public static final String NUMBER_OF_TIMES = "numberOfTimes"; private int numberOfTimes; protected void run(Fixture fixture, Parse table) { Table t = new Table(table); t.copyAndAppendLastRow(numberOfTimes); super.run(fixture, t.table()); } protected void setupDecorator(String[] arguments) throws InvalidInputException { if (arguments.length != 1) { throw new InvalidInputException("Count for number of times to add the last row must be specified"); } numberOfTimes = Integer.parseInt(arguments[0]); summary.put(NUMBER_OF_TIMES, new Integer(numberOfTimes)); } protected void updateColumnsBasedOnResults(Parse table) { // Nothing to do } }