package com.microsoft.bingads.v10.bulk.entities; import com.microsoft.bingads.v10.internal.bulk.StringTable; import com.microsoft.bingads.v10.internal.bulk.BulkMapping; import com.microsoft.bingads.v10.internal.bulk.MappingHelpers; import com.microsoft.bingads.v10.internal.bulk.RowValues; import com.microsoft.bingads.v10.internal.bulk.SimpleBulkMapping; import com.microsoft.bingads.internal.functionalinterfaces.BiConsumer; import com.microsoft.bingads.internal.functionalinterfaces.Function; import java.util.ArrayList; import java.util.Collections; import java.util.List; /** * This abstract class provides properties that are shared by all bulk campaign ad extension association classes. */ public abstract class BulkCampaignAdExtensionAssociation extends BulkAdExtensionAssociation { private String campaignName; private static final List<BulkMapping<BulkCampaignAdExtensionAssociation>> MAPPINGS; static { List<BulkMapping<BulkCampaignAdExtensionAssociation>> m = new ArrayList<BulkMapping<BulkCampaignAdExtensionAssociation>>(); m.add(new SimpleBulkMapping<BulkCampaignAdExtensionAssociation, String>(StringTable.Campaign, new Function<BulkCampaignAdExtensionAssociation, String>() { @Override public String apply(BulkCampaignAdExtensionAssociation c) { return c.getCampaignName(); } }, new BiConsumer<String, BulkCampaignAdExtensionAssociation>() { @Override public void accept(String v, BulkCampaignAdExtensionAssociation c) { c.setCampaignName(v); } } )); MAPPINGS = Collections.unmodifiableList(m); } @Override public void processMappingsFromRowValues(RowValues values) { super.processMappingsFromRowValues(values); MappingHelpers.convertToEntity(values, MAPPINGS, this); } public void setCampaignName(String campaignName) { this.campaignName = campaignName; } /** * The name of the campaign containing the ad group that the ad extension is associated. * <p/> * Corresponds to the 'Campaign' field in the bulk file. */ public String getCampaignName() { return this.campaignName; } }