All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.cucumber.java8.Java8DefaultDataTableEntryTransformerDefinition Maven / Gradle / Ivy

package io.cucumber.java8;

import io.cucumber.core.backend.DefaultDataTableEntryTransformerDefinition;
import io.cucumber.datatable.TableEntryByTypeTransformer;

import java.lang.reflect.Type;
import java.util.Map;

class Java8DefaultDataTableEntryTransformerDefinition extends AbstractDatatableElementTransformerDefinition
        implements DefaultDataTableEntryTransformerDefinition {

    Java8DefaultDataTableEntryTransformerDefinition(String[] emptyPatterns, DefaultDataTableEntryTransformerBody body) {
        super(body, new Exception().getStackTrace()[3], emptyPatterns);
    }

    @Override
    public boolean headersToProperties() {
        return true;
    }

    @Override
    public TableEntryByTypeTransformer tableEntryByTypeTransformer() {
        return (fromValue, toValueType, tableCellByTypeTransformer) -> execute(
            replaceEmptyPatternsWithEmptyString(fromValue),
            toValueType);
    }

    private Object execute(Map fromValue, Type toValueType) {
        return Invoker.invoke(this, body, method, fromValue, toValueType);
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy