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.ArrayList;
026import java.util.Collections;
027import java.util.List;
028import com.restfb.Facebook;
029import com.restfb.types.AbstractFacebookType;
030
031public class LookalikeSpec extends AbstractFacebookType {
032  @Facebook
033  private String country;
034  @Facebook("is_financial_service")
035  private Boolean isFinancialService;
036  @Facebook("origin")
037  private List<Origin> origin = new ArrayList<>();
038  @Facebook
039  private Double ratio;
040  @Facebook("starting_ratio")
041  private Double startingRatio;
042  @Facebook
043  private String type;
044  @Facebook("target_countries")
045  private List<String> targetCountries = new ArrayList<>();
046
047  public boolean addOrigin(Origin object) {
048    return origin.add(object);
049  }
050
051  public boolean removeOrigin(Origin object) {
052    return origin.remove(object);
053  }
054
055  public List<Origin> getOrigin() {
056    return Collections.unmodifiableList(origin);
057  }
058
059  public boolean addTargetCountry(String targetCountry) {
060    return targetCountries.add(targetCountry);
061  }
062
063  public boolean removeTargetCountry(String targetCountry) {
064    return targetCountries.remove(targetCountry);
065  }
066
067  public List<String> getTargetCountries() {
068    return Collections.unmodifiableList(targetCountries);
069  }
070
071
072  public static class Origin extends NamedAdsObject {
073    /**
074     * {@code true}, returned only when the origin is deleted -- GETTER --
075     */
076    @Facebook
077    private Boolean deleted;
078    /**
079     * {@code custom_audience} or {@code conversion_pixel} or {@code page} or {@code app} -- GETTER --
080     */
081    @Facebook
082    private String type;
083
084    /**
085     * {@code true}, returned only when the origin is deleted -- GETTER --
086     *
087     * @return {@code true}, returned only when the origin is deleted
088     */
089    @java.lang.SuppressWarnings("all")
090    @lombok.Generated
091    public Boolean getDeleted() {
092      return this.deleted;
093    }
094
095    /**
096     * {@code true}, returned only when the origin is deleted -- GETTER --
097     */
098    @java.lang.SuppressWarnings("all")
099    @lombok.Generated
100    public void setDeleted(final Boolean deleted) {
101      this.deleted = deleted;
102    }
103
104    /**
105     * {@code custom_audience} or {@code conversion_pixel} or {@code page} or {@code app} -- GETTER --
106     *
107     * @return {@code custom_audience} or {@code conversion_pixel} or {@code page} or {@code app}
108     */
109    @java.lang.SuppressWarnings("all")
110    @lombok.Generated
111    public String getType() {
112      return this.type;
113    }
114
115    /**
116     * {@code custom_audience} or {@code conversion_pixel} or {@code page} or {@code app} -- GETTER --
117     */
118    @java.lang.SuppressWarnings("all")
119    @lombok.Generated
120    public void setType(final String type) {
121      this.type = type;
122    }
123  }
124
125  @java.lang.SuppressWarnings("all")
126  @lombok.Generated
127  public String getCountry() {
128    return this.country;
129  }
130
131  @java.lang.SuppressWarnings("all")
132  @lombok.Generated
133  public void setCountry(final String country) {
134    this.country = country;
135  }
136
137  @java.lang.SuppressWarnings("all")
138  @lombok.Generated
139  public Boolean getIsFinancialService() {
140    return this.isFinancialService;
141  }
142
143  @java.lang.SuppressWarnings("all")
144  @lombok.Generated
145  public void setIsFinancialService(final Boolean isFinancialService) {
146    this.isFinancialService = isFinancialService;
147  }
148
149  @java.lang.SuppressWarnings("all")
150  @lombok.Generated
151  public Double getRatio() {
152    return this.ratio;
153  }
154
155  @java.lang.SuppressWarnings("all")
156  @lombok.Generated
157  public void setRatio(final Double ratio) {
158    this.ratio = ratio;
159  }
160
161  @java.lang.SuppressWarnings("all")
162  @lombok.Generated
163  public Double getStartingRatio() {
164    return this.startingRatio;
165  }
166
167  @java.lang.SuppressWarnings("all")
168  @lombok.Generated
169  public void setStartingRatio(final Double startingRatio) {
170    this.startingRatio = startingRatio;
171  }
172
173  @java.lang.SuppressWarnings("all")
174  @lombok.Generated
175  public String getType() {
176    return this.type;
177  }
178
179  @java.lang.SuppressWarnings("all")
180  @lombok.Generated
181  public void setType(final String type) {
182    this.type = type;
183  }
184}