
io.github.xinyangpan.cucumber.tool.DataTableGenerator Maven / Gradle / Ivy
package io.github.xinyangpan.cucumber.tool;
import java.beans.PropertyDescriptor;
import java.util.List;
import org.apache.commons.lang3.ArrayUtils;
import com.google.common.base.Defaults;
import com.google.common.base.Preconditions;
public class DataTableGenerator {
public static void generate(Class> targetClass, PropertyCollectingType propertyCollectingType, String... ignores) {
Preconditions.checkNotNull(propertyCollectingType);
List propertyDescriptors = propertyCollectingType.getPropertyDescriptors(targetClass);
//
propertyDescriptors.stream()
.filter(pd -> !ArrayUtils.contains(ignores, pd.getName()))
.forEach(pd -> System.out.printf("|%s", pd.getName()));
System.out.println("|");
propertyDescriptors.stream()
.filter(pd -> !ArrayUtils.contains(ignores, pd.getName()))
.forEach(pd -> System.out.printf("|%s", Defaults.defaultValue(pd.getPropertyType())));
System.out.println("|");
}
public static void generateMap(Class> targetClass, PropertyCollectingType propertyCollectingType, String... ignores) {
List propertyDescriptors = propertyCollectingType.getPropertyDescriptors(targetClass);
//
propertyDescriptors.stream()
.filter(pd -> !ArrayUtils.contains(ignores, pd.getName()))
.forEach(pd -> {
System.out.printf("|%s|%s|%n", pd.getName(), Defaults.defaultValue(pd.getPropertyType()));
});
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy