package org.jbehave.examples.core.steps; import java.math.BigDecimal; import java.util.List; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import org.jbehave.core.annotations.AsParameters; import org.jbehave.core.annotations.Given; import org.jbehave.core.annotations.Parameter; public class ExamplesTableParametersSteps { @Given("the parameters mapped via annotations to custom types: %table") public void givenTheMyParametersList(List<MyParameters> list) { System.out.println("List annotated: "+list); } @Given("the parameters mapped via annotations to custom type: %table") public void givenTheMyParametersType(MyParameters single) { System.out.println("Single annotated: "+single); } @Given("the parameters mapped via names to custom types: %table") public void givenTheNamedParametersList(List<MyParameters> list) { System.out.println("List named: "+list); } @Given("the parameters mapped via names to custom type: %table") public void givenTheNamedParametersType(MyParameters single) { System.out.println("Single named: "+single); } @AsParameters public static class MyParameters { @Parameter(name = "aString") private String string; @Parameter(name = "anInteger") private Integer integer; @Parameter(name = "aBigDecimal") private BigDecimal bigDecimal; @Override public String toString() { return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE); } } }