package cucumber.api; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * <p> * This annotation can be specified on step definition method parameters to give Cucumber a hint * to transpose a DataTable into an object or list of objects. * * For example, if you have the following Gherkin step with a table * </p> * <pre> * Given the user is * | firstname | Roberto | * | lastname | Lo Giacco | * | nationality | Italian | * </pre> * <p> * Then the following Java Step Definition would convert that into an User object: * </p> * <pre> * @Given("^the user is$") * public void the_user_is(@Transpose User user) { * this.user = user; * } * </pre> * <p> * * This annotation also works for data tables that are transformed to a list of beans. * </p> */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.PARAMETER) public @interface Transpose { boolean value() default true; }