001// Generated by delombok at Thu Aug 13 13:56:43 UTC 2026
002/*
003 * Copyright (c) 2010-2026 Mark Allen, Norbert Bartels.
004 *
005 * Permission is hereby granted, free of charge, to any person obtaining a copy
006 * of this software and associated documentation files (the "Software"), to deal
007 * in the Software without restriction, including without limitation the rights
008 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
009 * copies of the Software, and to permit persons to whom the Software is
010 * furnished to do so, subject to the following conditions:
011 *
012 * The above copyright notice and this permission notice shall be included in
013 * all copies or substantial portions of the Software.
014 *
015 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
016 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
017 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
018 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
019 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
020 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
021 * THE SOFTWARE.
022 */
023package com.restfb.types.ads;
024
025import java.util.*;
026import com.restfb.Facebook;
027import com.restfb.annotation.GraphAPI;
028import com.restfb.json.JsonObject;
029import com.restfb.types.features.HasCreatedTime;
030
031/**
032 * Represents the <a href="https://developers.facebook.com/docs/marketing-api/reference/ad-campaign">AdGroup Set
033 * type</a>.
034 *
035 * Note: AdGroup Set vs AdGroup Campaign Prior to July 2014 ad sets were referred to as 'campaigns'. When using ad sets
036 * in API calls the parameter may be referred to as 'adcampaign'. A campaign contains one or more ad sets.
037 */
038public class AdSet extends NamedAdsObject implements HasCreatedTime {
039  private static final long serialVersionUID = 1L;
040  @Facebook("account_id")
041  private String accountId;
042  @Facebook("ad_keywords")
043  private AdKeywords adKeywords;
044  @Facebook("adcampaign_group")
045  private Campaign adcampaignGroup;
046  @Facebook("adlabels")
047  private List<AdLabel> adLabels = new ArrayList<>();
048  @Facebook("adset_schedule")
049  private List<DayPart> adsetSchedule = new ArrayList<>();
050  @Facebook("asset_feed_id")
051  private String assetFeedId;
052  @Facebook("attribution_spec")
053  private List<JsonObject> attributionSpec = new ArrayList<>();
054  @Facebook("best_creative")
055  private AdDynamicCreative bestCreative;
056  @Facebook("bid_adjustments")
057  private AdBidAdjustments bidAdjustments;
058  @Facebook("bid_amount")
059  private Long bidAmount;
060  @Facebook("bid_info")
061  private Map<String, Long> bidInfo = new HashMap<>();
062  @Facebook("bid_constraints")
063  private AdCampaignBidConstraint bidConstraints;
064  @Facebook("bid_info")
065  private Map<String, Long> mBidInfo = new HashMap<>();
066  @Facebook("bid_strategy")
067  private BidStrategyEnum bidStrategy;
068  @Facebook("billing_event")
069  private String billingEvent;
070  @Facebook("budget_remaining")
071  private String budgetRemaining;
072  @Facebook
073  private Campaign campaign;
074  @Facebook("campaign_id")
075  private String campaignId;
076  @Facebook("configured_status")
077  private String configuredStatus;
078  @Facebook("created_time")
079  private Date createdTime;
080  @Facebook("creative_sequence")
081  private List<String> creativeSequence = new ArrayList<>();
082  @Facebook("daily_budget")
083  private String dailyBudget;
084  @Facebook("daily_min_spend_target")
085  private String dailyMinSpendTarget;
086  @Facebook("daily_spend_cap")
087  private String dailySpendCap;
088  @Facebook("destination_type")
089  private String destinationType;
090  @Facebook("effective_status")
091  private String effectiveStatus;
092  @Facebook("end_time")
093  private Date endTime;
094  @Facebook("frequency_cap")
095  private Long frequencyCap;
096  @Facebook("frequency_cap_reset_period")
097  private Long frequencyCapResetPeriod;
098  @Facebook("frequency_control_specs")
099  private List<AdCampaignFrequencyControlSpecs> frequencyControlSpecs = new ArrayList<>();
100  @Facebook("is_autobid")
101  private Boolean isAutobid;
102  @Facebook("issues_info")
103  @GraphAPI(since = "3.2")
104  private List<AdCampaignIssuesInfo> issuesInfo = new ArrayList<>();
105  @Facebook("lifetime_budget")
106  private String lifetimeBudget;
107  @Facebook("lifetime_frequency_cap")
108  private Long lifetimeFrequencyCap;
109  @Facebook("lifetime_imps")
110  private Long lifetimeImps;
111  @Facebook("optimization_goal")
112  private String optimizationGoal;
113  @Facebook("pacing_type")
114  private List<String> pacingType = new ArrayList<>();
115  @Facebook("promoted_object")
116  private AdPromotedObject promotedObject;
117  @Facebook("recommendations")
118  private List<AdRecommendation> recommendations = new ArrayList<>();
119  @Facebook("rf_prediction_id")
120  private String rfPredictionId;
121  @Facebook("rtb_flag")
122  private Boolean rtbFlag;
123  @Facebook("start_time")
124  private Date startTime;
125  @Facebook("status")
126  private String mStatus;
127  @Facebook("targeting")
128  private Targeting targeting;
129  @Facebook("updated_time")
130  private Date updatedTime;
131  @Facebook("use_new_app_click")
132  private Boolean useNewAppClick;
133
134  public boolean addAdLabel(AdLabel adLabel) {
135    return adLabels.add(adLabel);
136  }
137
138  public boolean removeAdLabel(AdLabel adLabel) {
139    return adLabels.remove(adLabel);
140  }
141
142  public List<AdLabel> getAdlabels() {
143    return Collections.unmodifiableList(adLabels);
144  }
145
146  @java.lang.SuppressWarnings("all")
147  @lombok.Generated
148  public String getAccountId() {
149    return this.accountId;
150  }
151
152  @java.lang.SuppressWarnings("all")
153  @lombok.Generated
154  public void setAccountId(final String accountId) {
155    this.accountId = accountId;
156  }
157
158  @java.lang.SuppressWarnings("all")
159  @lombok.Generated
160  public AdKeywords getAdKeywords() {
161    return this.adKeywords;
162  }
163
164  @java.lang.SuppressWarnings("all")
165  @lombok.Generated
166  public void setAdKeywords(final AdKeywords adKeywords) {
167    this.adKeywords = adKeywords;
168  }
169
170  @java.lang.SuppressWarnings("all")
171  @lombok.Generated
172  public Campaign getAdcampaignGroup() {
173    return this.adcampaignGroup;
174  }
175
176  @java.lang.SuppressWarnings("all")
177  @lombok.Generated
178  public void setAdcampaignGroup(final Campaign adcampaignGroup) {
179    this.adcampaignGroup = adcampaignGroup;
180  }
181
182  @java.lang.SuppressWarnings("all")
183  @lombok.Generated
184  public List<DayPart> getAdsetSchedule() {
185    return this.adsetSchedule;
186  }
187
188  @java.lang.SuppressWarnings("all")
189  @lombok.Generated
190  public void setAdsetSchedule(final List<DayPart> adsetSchedule) {
191    this.adsetSchedule = adsetSchedule;
192  }
193
194  @java.lang.SuppressWarnings("all")
195  @lombok.Generated
196  public String getAssetFeedId() {
197    return this.assetFeedId;
198  }
199
200  @java.lang.SuppressWarnings("all")
201  @lombok.Generated
202  public void setAssetFeedId(final String assetFeedId) {
203    this.assetFeedId = assetFeedId;
204  }
205
206  @java.lang.SuppressWarnings("all")
207  @lombok.Generated
208  public List<JsonObject> getAttributionSpec() {
209    return this.attributionSpec;
210  }
211
212  @java.lang.SuppressWarnings("all")
213  @lombok.Generated
214  public void setAttributionSpec(final List<JsonObject> attributionSpec) {
215    this.attributionSpec = attributionSpec;
216  }
217
218  @java.lang.SuppressWarnings("all")
219  @lombok.Generated
220  public AdDynamicCreative getBestCreative() {
221    return this.bestCreative;
222  }
223
224  @java.lang.SuppressWarnings("all")
225  @lombok.Generated
226  public void setBestCreative(final AdDynamicCreative bestCreative) {
227    this.bestCreative = bestCreative;
228  }
229
230  @java.lang.SuppressWarnings("all")
231  @lombok.Generated
232  public AdBidAdjustments getBidAdjustments() {
233    return this.bidAdjustments;
234  }
235
236  @java.lang.SuppressWarnings("all")
237  @lombok.Generated
238  public void setBidAdjustments(final AdBidAdjustments bidAdjustments) {
239    this.bidAdjustments = bidAdjustments;
240  }
241
242  @java.lang.SuppressWarnings("all")
243  @lombok.Generated
244  public Long getBidAmount() {
245    return this.bidAmount;
246  }
247
248  @java.lang.SuppressWarnings("all")
249  @lombok.Generated
250  public void setBidAmount(final Long bidAmount) {
251    this.bidAmount = bidAmount;
252  }
253
254  @java.lang.SuppressWarnings("all")
255  @lombok.Generated
256  public Map<String, Long> getBidInfo() {
257    return this.bidInfo;
258  }
259
260  @java.lang.SuppressWarnings("all")
261  @lombok.Generated
262  public void setBidInfo(final Map<String, Long> bidInfo) {
263    this.bidInfo = bidInfo;
264  }
265
266  @java.lang.SuppressWarnings("all")
267  @lombok.Generated
268  public AdCampaignBidConstraint getBidConstraints() {
269    return this.bidConstraints;
270  }
271
272  @java.lang.SuppressWarnings("all")
273  @lombok.Generated
274  public void setBidConstraints(final AdCampaignBidConstraint bidConstraints) {
275    this.bidConstraints = bidConstraints;
276  }
277
278  @java.lang.SuppressWarnings("all")
279  @lombok.Generated
280  public Map<String, Long> getMBidInfo() {
281    return this.mBidInfo;
282  }
283
284  @java.lang.SuppressWarnings("all")
285  @lombok.Generated
286  public void setMBidInfo(final Map<String, Long> mBidInfo) {
287    this.mBidInfo = mBidInfo;
288  }
289
290  @java.lang.SuppressWarnings("all")
291  @lombok.Generated
292  public BidStrategyEnum getBidStrategy() {
293    return this.bidStrategy;
294  }
295
296  @java.lang.SuppressWarnings("all")
297  @lombok.Generated
298  public void setBidStrategy(final BidStrategyEnum bidStrategy) {
299    this.bidStrategy = bidStrategy;
300  }
301
302  @java.lang.SuppressWarnings("all")
303  @lombok.Generated
304  public String getBillingEvent() {
305    return this.billingEvent;
306  }
307
308  @java.lang.SuppressWarnings("all")
309  @lombok.Generated
310  public void setBillingEvent(final String billingEvent) {
311    this.billingEvent = billingEvent;
312  }
313
314  @java.lang.SuppressWarnings("all")
315  @lombok.Generated
316  public String getBudgetRemaining() {
317    return this.budgetRemaining;
318  }
319
320  @java.lang.SuppressWarnings("all")
321  @lombok.Generated
322  public void setBudgetRemaining(final String budgetRemaining) {
323    this.budgetRemaining = budgetRemaining;
324  }
325
326  @java.lang.SuppressWarnings("all")
327  @lombok.Generated
328  public Campaign getCampaign() {
329    return this.campaign;
330  }
331
332  @java.lang.SuppressWarnings("all")
333  @lombok.Generated
334  public void setCampaign(final Campaign campaign) {
335    this.campaign = campaign;
336  }
337
338  @java.lang.SuppressWarnings("all")
339  @lombok.Generated
340  public String getCampaignId() {
341    return this.campaignId;
342  }
343
344  @java.lang.SuppressWarnings("all")
345  @lombok.Generated
346  public void setCampaignId(final String campaignId) {
347    this.campaignId = campaignId;
348  }
349
350  @java.lang.SuppressWarnings("all")
351  @lombok.Generated
352  public String getConfiguredStatus() {
353    return this.configuredStatus;
354  }
355
356  @java.lang.SuppressWarnings("all")
357  @lombok.Generated
358  public void setConfiguredStatus(final String configuredStatus) {
359    this.configuredStatus = configuredStatus;
360  }
361
362  @Override
363  @java.lang.SuppressWarnings("all")
364  @lombok.Generated
365  public Date getCreatedTime() {
366    return this.createdTime;
367  }
368
369  @java.lang.SuppressWarnings("all")
370  @lombok.Generated
371  public void setCreatedTime(final Date createdTime) {
372    this.createdTime = createdTime;
373  }
374
375  @java.lang.SuppressWarnings("all")
376  @lombok.Generated
377  public List<String> getCreativeSequence() {
378    return this.creativeSequence;
379  }
380
381  @java.lang.SuppressWarnings("all")
382  @lombok.Generated
383  public void setCreativeSequence(final List<String> creativeSequence) {
384    this.creativeSequence = creativeSequence;
385  }
386
387  @java.lang.SuppressWarnings("all")
388  @lombok.Generated
389  public String getDailyBudget() {
390    return this.dailyBudget;
391  }
392
393  @java.lang.SuppressWarnings("all")
394  @lombok.Generated
395  public void setDailyBudget(final String dailyBudget) {
396    this.dailyBudget = dailyBudget;
397  }
398
399  @java.lang.SuppressWarnings("all")
400  @lombok.Generated
401  public String getDailyMinSpendTarget() {
402    return this.dailyMinSpendTarget;
403  }
404
405  @java.lang.SuppressWarnings("all")
406  @lombok.Generated
407  public void setDailyMinSpendTarget(final String dailyMinSpendTarget) {
408    this.dailyMinSpendTarget = dailyMinSpendTarget;
409  }
410
411  @java.lang.SuppressWarnings("all")
412  @lombok.Generated
413  public String getDailySpendCap() {
414    return this.dailySpendCap;
415  }
416
417  @java.lang.SuppressWarnings("all")
418  @lombok.Generated
419  public void setDailySpendCap(final String dailySpendCap) {
420    this.dailySpendCap = dailySpendCap;
421  }
422
423  @java.lang.SuppressWarnings("all")
424  @lombok.Generated
425  public String getDestinationType() {
426    return this.destinationType;
427  }
428
429  @java.lang.SuppressWarnings("all")
430  @lombok.Generated
431  public void setDestinationType(final String destinationType) {
432    this.destinationType = destinationType;
433  }
434
435  @java.lang.SuppressWarnings("all")
436  @lombok.Generated
437  public String getEffectiveStatus() {
438    return this.effectiveStatus;
439  }
440
441  @java.lang.SuppressWarnings("all")
442  @lombok.Generated
443  public void setEffectiveStatus(final String effectiveStatus) {
444    this.effectiveStatus = effectiveStatus;
445  }
446
447  @java.lang.SuppressWarnings("all")
448  @lombok.Generated
449  public Date getEndTime() {
450    return this.endTime;
451  }
452
453  @java.lang.SuppressWarnings("all")
454  @lombok.Generated
455  public void setEndTime(final Date endTime) {
456    this.endTime = endTime;
457  }
458
459  @java.lang.SuppressWarnings("all")
460  @lombok.Generated
461  public Long getFrequencyCap() {
462    return this.frequencyCap;
463  }
464
465  @java.lang.SuppressWarnings("all")
466  @lombok.Generated
467  public void setFrequencyCap(final Long frequencyCap) {
468    this.frequencyCap = frequencyCap;
469  }
470
471  @java.lang.SuppressWarnings("all")
472  @lombok.Generated
473  public Long getFrequencyCapResetPeriod() {
474    return this.frequencyCapResetPeriod;
475  }
476
477  @java.lang.SuppressWarnings("all")
478  @lombok.Generated
479  public void setFrequencyCapResetPeriod(final Long frequencyCapResetPeriod) {
480    this.frequencyCapResetPeriod = frequencyCapResetPeriod;
481  }
482
483  @java.lang.SuppressWarnings("all")
484  @lombok.Generated
485  public List<AdCampaignFrequencyControlSpecs> getFrequencyControlSpecs() {
486    return this.frequencyControlSpecs;
487  }
488
489  @java.lang.SuppressWarnings("all")
490  @lombok.Generated
491  public void setFrequencyControlSpecs(final List<AdCampaignFrequencyControlSpecs> frequencyControlSpecs) {
492    this.frequencyControlSpecs = frequencyControlSpecs;
493  }
494
495  @java.lang.SuppressWarnings("all")
496  @lombok.Generated
497  public Boolean getIsAutobid() {
498    return this.isAutobid;
499  }
500
501  @java.lang.SuppressWarnings("all")
502  @lombok.Generated
503  public void setIsAutobid(final Boolean isAutobid) {
504    this.isAutobid = isAutobid;
505  }
506
507  @GraphAPI(since = "3.2")
508  @java.lang.SuppressWarnings("all")
509  @lombok.Generated
510  public List<AdCampaignIssuesInfo> getIssuesInfo() {
511    return this.issuesInfo;
512  }
513
514  @java.lang.SuppressWarnings("all")
515  @lombok.Generated
516  public void setIssuesInfo(final List<AdCampaignIssuesInfo> issuesInfo) {
517    this.issuesInfo = issuesInfo;
518  }
519
520  @java.lang.SuppressWarnings("all")
521  @lombok.Generated
522  public String getLifetimeBudget() {
523    return this.lifetimeBudget;
524  }
525
526  @java.lang.SuppressWarnings("all")
527  @lombok.Generated
528  public void setLifetimeBudget(final String lifetimeBudget) {
529    this.lifetimeBudget = lifetimeBudget;
530  }
531
532  @java.lang.SuppressWarnings("all")
533  @lombok.Generated
534  public Long getLifetimeFrequencyCap() {
535    return this.lifetimeFrequencyCap;
536  }
537
538  @java.lang.SuppressWarnings("all")
539  @lombok.Generated
540  public void setLifetimeFrequencyCap(final Long lifetimeFrequencyCap) {
541    this.lifetimeFrequencyCap = lifetimeFrequencyCap;
542  }
543
544  @java.lang.SuppressWarnings("all")
545  @lombok.Generated
546  public Long getLifetimeImps() {
547    return this.lifetimeImps;
548  }
549
550  @java.lang.SuppressWarnings("all")
551  @lombok.Generated
552  public void setLifetimeImps(final Long lifetimeImps) {
553    this.lifetimeImps = lifetimeImps;
554  }
555
556  @java.lang.SuppressWarnings("all")
557  @lombok.Generated
558  public String getOptimizationGoal() {
559    return this.optimizationGoal;
560  }
561
562  @java.lang.SuppressWarnings("all")
563  @lombok.Generated
564  public void setOptimizationGoal(final String optimizationGoal) {
565    this.optimizationGoal = optimizationGoal;
566  }
567
568  @java.lang.SuppressWarnings("all")
569  @lombok.Generated
570  public List<String> getPacingType() {
571    return this.pacingType;
572  }
573
574  @java.lang.SuppressWarnings("all")
575  @lombok.Generated
576  public void setPacingType(final List<String> pacingType) {
577    this.pacingType = pacingType;
578  }
579
580  @java.lang.SuppressWarnings("all")
581  @lombok.Generated
582  public AdPromotedObject getPromotedObject() {
583    return this.promotedObject;
584  }
585
586  @java.lang.SuppressWarnings("all")
587  @lombok.Generated
588  public void setPromotedObject(final AdPromotedObject promotedObject) {
589    this.promotedObject = promotedObject;
590  }
591
592  @java.lang.SuppressWarnings("all")
593  @lombok.Generated
594  public List<AdRecommendation> getRecommendations() {
595    return this.recommendations;
596  }
597
598  @java.lang.SuppressWarnings("all")
599  @lombok.Generated
600  public void setRecommendations(final List<AdRecommendation> recommendations) {
601    this.recommendations = recommendations;
602  }
603
604  @java.lang.SuppressWarnings("all")
605  @lombok.Generated
606  public String getRfPredictionId() {
607    return this.rfPredictionId;
608  }
609
610  @java.lang.SuppressWarnings("all")
611  @lombok.Generated
612  public void setRfPredictionId(final String rfPredictionId) {
613    this.rfPredictionId = rfPredictionId;
614  }
615
616  @java.lang.SuppressWarnings("all")
617  @lombok.Generated
618  public Boolean getRtbFlag() {
619    return this.rtbFlag;
620  }
621
622  @java.lang.SuppressWarnings("all")
623  @lombok.Generated
624  public void setRtbFlag(final Boolean rtbFlag) {
625    this.rtbFlag = rtbFlag;
626  }
627
628  @java.lang.SuppressWarnings("all")
629  @lombok.Generated
630  public Date getStartTime() {
631    return this.startTime;
632  }
633
634  @java.lang.SuppressWarnings("all")
635  @lombok.Generated
636  public void setStartTime(final Date startTime) {
637    this.startTime = startTime;
638  }
639
640  @java.lang.SuppressWarnings("all")
641  @lombok.Generated
642  public String getMStatus() {
643    return this.mStatus;
644  }
645
646  @java.lang.SuppressWarnings("all")
647  @lombok.Generated
648  public void setMStatus(final String mStatus) {
649    this.mStatus = mStatus;
650  }
651
652  @java.lang.SuppressWarnings("all")
653  @lombok.Generated
654  public Targeting getTargeting() {
655    return this.targeting;
656  }
657
658  @java.lang.SuppressWarnings("all")
659  @lombok.Generated
660  public void setTargeting(final Targeting targeting) {
661    this.targeting = targeting;
662  }
663
664  @java.lang.SuppressWarnings("all")
665  @lombok.Generated
666  public Date getUpdatedTime() {
667    return this.updatedTime;
668  }
669
670  @java.lang.SuppressWarnings("all")
671  @lombok.Generated
672  public void setUpdatedTime(final Date updatedTime) {
673    this.updatedTime = updatedTime;
674  }
675
676  @java.lang.SuppressWarnings("all")
677  @lombok.Generated
678  public Boolean getUseNewAppClick() {
679    return this.useNewAppClick;
680  }
681
682  @java.lang.SuppressWarnings("all")
683  @lombok.Generated
684  public void setUseNewAppClick(final Boolean useNewAppClick) {
685    this.useNewAppClick = useNewAppClick;
686  }
687}