Annotation Type Transpose


  • @Retention(RUNTIME)
    @Target(PARAMETER)
    @API(status=STABLE)
    public @interface Transpose

    This annotation can be specified on step definition method parameters to give Cucumber a hint to transpose a DataTable.

    For example, if you have the following Gherkin step with a table

     Given the user is
        | firstname | Roberto       |
        | lastname  | Lo Giacco |
        | nationality       | Italian       |
     

    And a data table type to create a User

     typeRegistry.defineDataTableType(new DataTableType(
        Author.class,
        new TableEntryTransformer<User>() {
        @Override
        public Author transform(Map<String, String> entry) {
           return new User(
              entry.get("firstName"),
              entry.get("lastName"),
              entry.get("nationality"));
        }
     }));
    
     
    Then the following Java Step Definition would convert that into an User object:
     @Given("^the user is$")
     public void the_user_is(@Transpose User user) {
         this.user = user;
     }
     
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      boolean value  
    • Element Detail

      • value

        boolean value
        Default:
        true