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

com.taboola.backstage.model.media.campaigns.Campaign Maven / Gradle / Ivy

package com.taboola.backstage.model.media.campaigns;

import com.taboola.backstage.annotations.Final;
import com.taboola.backstage.annotations.ReadOnly;
import com.taboola.backstage.annotations.Required;
import com.taboola.backstage.model.media.campaigns.scheduling.ActivitySchedule;

import java.util.Date;
import java.util.Objects;

/**
 * Created by vladi
 * Date: 9/12/2017
 * Time: 11:22 PM
 * By Taboola
 */
public class Campaign {

    @ReadOnly
    protected String id;
    @ReadOnly
    protected String advertiserId;
    @Required
    protected String name;
    @Required
    protected String brandingText;
    protected String trackingCode;
    @Required
    protected Double cpc;
    protected Double dailyCap;
    protected DailyAdDeliveryModel dailyAdDeliveryModel;
    protected PublisherBidModifier publisherBidModifier;
    protected TrafficAllocationMode trafficAllocationMode;
    @Required
    protected Double spendingLimit;
    @Required
    protected SpendingLimitModel spendingLimitModel;
    protected CampaignTargeting countryTargeting;
    protected CampaignTargeting subCountryTargeting;
    protected CampaignTargeting platformTargeting;
    protected CampaignTargeting publisherTargeting;
    protected CampaignTargeting osTargeting;
    protected CampaignTargeting connectionTypeTargeting;
    @ReadOnly
    protected CampaignTargeting postalCodeTargeting;
    protected String comments;
    protected BidType bidType;
    @Required
    protected MarketingObjective marketingObjective;
    protected ActivitySchedule activitySchedule;
    @Final
    protected Date startDate;
    protected Date endDate;
    @ReadOnly
    protected CampaignApprovalState approvalState;
    protected Boolean isActive;
    @ReadOnly
    protected Double spent;
    @ReadOnly
    protected CampaignStatus status;
    protected Double cpaGoal;

    public String getId() {
        return id;
    }

    public String getAdvertiserId() {
        return advertiserId;
    }

    public String getName() {
        return name;
    }

    public String getBrandingText() {
        return brandingText;
    }

    public String getTrackingCode() {
        return trackingCode;
    }

    public Double getCpc() {
        return cpc;
    }

    public Double getDailyCap() {
        return dailyCap;
    }

    public DailyAdDeliveryModel getDailyAdDeliveryModel() {
        return dailyAdDeliveryModel;
    }

    public PublisherBidModifier getPublisherBidModifier() {
        return publisherBidModifier;
    }

    public Double getSpendingLimit() {
        return spendingLimit;
    }

    public SpendingLimitModel getSpendingLimitModel() {
        return spendingLimitModel;
    }

    public CampaignTargeting getCountryTargeting() {
        return countryTargeting;
    }

    public CampaignTargeting getSubCountryTargeting() {
        return subCountryTargeting;
    }

    public CampaignTargeting getPlatformTargeting() {
        return platformTargeting;
    }

    public CampaignTargeting getPublisherTargeting() {
        return publisherTargeting;
    }

    public CampaignTargeting getPostalCodeTargeting() {
        return postalCodeTargeting;
    }

    public CampaignTargeting getOsTargeting() {
        return osTargeting;
    }

    public String getComments() {
        return comments;
    }

    public Date getStartDate() {
        return startDate;
    }

    public Date getEndDate() {
        return endDate;
    }

    public CampaignApprovalState getApprovalState() {
        return approvalState;
    }

    public Boolean getIsActive() {
        return isActive;
    }

    public Double getSpent() {
        return spent;
    }

    public CampaignStatus getStatus() {
        return status;
    }

    public TrafficAllocationMode getTrafficAllocationMode() {
        return trafficAllocationMode;
    }

    public BidType getBidType() {
        return bidType;
    }

    public MarketingObjective getMarketingObjective() {
        return marketingObjective;
    }

    public ActivitySchedule getActivitySchedule() {
        return activitySchedule;
    }

    public CampaignTargeting getConnectionTypeTargeting() {
        return connectionTypeTargeting;
    }

    public Double getCpaGoal() {
        return cpaGoal;
    }

    @Override
    public String toString() {
        return "Campaign{" +
                "id='" + id + '\'' +
                ", advertiserId='" + advertiserId + '\'' +
                ", name='" + name + '\'' +
                ", brandingText='" + brandingText + '\'' +
                ", trackingCode='" + trackingCode + '\'' +
                ", cpc=" + cpc +
                ", dailyCap=" + dailyCap +
                ", dailyAdDeliveryModel=" + dailyAdDeliveryModel +
                ", publisherBidModifier=" + publisherBidModifier +
                ", trafficAllocationMode=" + trafficAllocationMode +
                ", spendingLimit=" + spendingLimit +
                ", spendingLimitModel=" + spendingLimitModel +
                ", countryTargeting=" + countryTargeting +
                ", subCountryTargeting=" + subCountryTargeting +
                ", platformTargeting=" + platformTargeting +
                ", publisherTargeting=" + publisherTargeting +
                ", osTargeting=" + osTargeting +
                ", connectionTypeTargeting=" + connectionTypeTargeting +
                ", postalCodeTargeting=" + postalCodeTargeting +
                ", comments='" + comments + '\'' +
                ", bidType=" + bidType +
                ", marketingObjective=" + marketingObjective +
                ", activitySchedule=" + activitySchedule +
                ", startDate=" + startDate +
                ", endDate=" + endDate +
                ", approvalState=" + approvalState +
                ", isActive=" + isActive +
                ", spent=" + spent +
                ", status=" + status +
                ", cpaGoal=" + cpaGoal +
                '}';
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Campaign campaign = (Campaign) o;
        return Objects.equals(id, campaign.id) &&
                Objects.equals(advertiserId, campaign.advertiserId) &&
                Objects.equals(name, campaign.name) &&
                Objects.equals(brandingText, campaign.brandingText) &&
                Objects.equals(trackingCode, campaign.trackingCode) &&
                Objects.equals(cpc, campaign.cpc) &&
                Objects.equals(dailyCap, campaign.dailyCap) &&
                dailyAdDeliveryModel == campaign.dailyAdDeliveryModel &&
                Objects.equals(publisherBidModifier, campaign.publisherBidModifier) &&
                trafficAllocationMode == campaign.trafficAllocationMode &&
                Objects.equals(spendingLimit, campaign.spendingLimit) &&
                spendingLimitModel == campaign.spendingLimitModel &&
                Objects.equals(countryTargeting, campaign.countryTargeting) &&
                Objects.equals(subCountryTargeting, campaign.subCountryTargeting) &&
                Objects.equals(platformTargeting, campaign.platformTargeting) &&
                Objects.equals(publisherTargeting, campaign.publisherTargeting) &&
                Objects.equals(osTargeting, campaign.osTargeting) &&
                Objects.equals(connectionTypeTargeting, campaign.connectionTypeTargeting) &&
                Objects.equals(postalCodeTargeting, campaign.postalCodeTargeting) &&
                Objects.equals(comments, campaign.comments) &&
                bidType == campaign.bidType &&
                marketingObjective == campaign.marketingObjective &&
                Objects.equals(activitySchedule, campaign.activitySchedule) &&
                Objects.equals(startDate, campaign.startDate) &&
                Objects.equals(endDate, campaign.endDate) &&
                approvalState == campaign.approvalState &&
                Objects.equals(isActive, campaign.isActive) &&
                Objects.equals(spent, campaign.spent) &&
                status == campaign.status &&
                Objects.equals(cpaGoal, campaign.cpaGoal);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, advertiserId, name, brandingText, trackingCode, cpc, dailyCap, dailyAdDeliveryModel, publisherBidModifier,
                trafficAllocationMode, spendingLimit, spendingLimitModel, countryTargeting, subCountryTargeting, platformTargeting, publisherTargeting,
                osTargeting, connectionTypeTargeting, postalCodeTargeting, comments, bidType, marketingObjective,
                activitySchedule, startDate, endDate, approvalState, isActive, spent, status, cpaGoal);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy