package com.microsoft.bingads.v11.internal.bulk; import com.microsoft.bingads.v11.bulk.entities.BulkEntity; import com.microsoft.bingads.internal.functionalinterfaces.BiConsumer; import com.microsoft.bingads.internal.functionalinterfaces.Function; /** * A simple bulk mapping which translates values from a single field to a single * column * * @param <TEntity> The type of {@link BulkEntity} that the binding is for * @param <TProperty> The type of the property on the {@link BulkEntity} that is * being managed by this mapping */ public class SimpleBulkMapping<TEntity, TProperty> extends SingleFieldBulkMapping<TEntity, TProperty> { private String csvHeader; public SimpleBulkMapping(String csvHeader, Function<TEntity, TProperty> fieldToCsv, BiConsumer<String, TEntity> csvToField, boolean passNulls) { super(fieldToCsv, csvToField, passNulls); this.csvHeader = csvHeader; } /** * Constructor for mappings * * @param csvHeader Name of the header * @param fieldToCsv Function to get the value from an entity * @param csvToField Function to set the value from CSV on an entity */ public SimpleBulkMapping(String csvHeader, Function<TEntity, TProperty> fieldToCsv, BiConsumer<String, TEntity> csvToField) { this(csvHeader, fieldToCsv, csvToField, false); } @Override public String getHeader(TEntity entity) { return this.csvHeader; } }