001// Generated by delombok at Sun Apr 14 14:59:49 CEST 2024
002/*
003 * Copyright (c) 2010-2024 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.Date;
026import com.restfb.Facebook;
027import com.restfb.types.features.HasCreatedTime;
028
029/**
030 * Represents the <a href="https://developers.facebook.com/docs/marketing-api/reference/product-feed/">Product Feed
031 * type</a>
032 */
033public class ProductFeed extends BaseAdsObject implements HasCreatedTime {
034  /**
035   * An ISO 3166-1 Alpha 2 country code
036   */
037  @Facebook
038  private String country;
039  /**
040   * Creation time of the product feed
041   */
042  @Facebook("created_time")
043  private Date createdTime;
044  /**
045   * Default currency for products.
046   *
047   * If no currency is specified for items in the feed file, this value would be used
048   */
049  @Facebook("default_currency")
050  private String defaultCurrency;
051  /**
052   * Allows products to be deleted if they are no longer included in a product feed
053   */
054  @Facebook("deletion_enabled")
055  private Boolean deletionEnabled;
056  /**
057   * The delimiter used in product feed file
058   *
059   * possible values: AUTODETECT, BAR, COMMA, TAB, TILDE, SEMICOLON
060   */
061  @Facebook
062  private String delimiter;
063  /**
064   * The character encoding used by provided feed
065   *
066   * possible values: AUTODETECT, LATIN1, UTF8, UTF16LE, UTF16BE, UTF32LE, UTF32BE
067   */
068  @Facebook
069  private String encoding;
070  /**
071   * File name of the product feed. Will be overridden by {@code name} if present
072   */
073  @Facebook("file_name")
074  private String fileName;
075  /**
076   * The latest upload session of the product feed
077   */
078  @Facebook("latest_upload")
079  private ProductFeedUpload latestUpload;
080  /**
081   * The total products of this product catalog
082   */
083  @Facebook("product_count")
084  private Long productCount;
085  /**
086   * Allows tabs and newlines within fields
087   *
088   * possible values: AUTODETECT, ON, OFF
089   */
090  @Facebook("quoted_fields_mode")
091  private String quotedFieldsMode;
092  /**
093   * The configuration for fetching a feed in a recurrant manner
094   */
095  @Facebook
096  private ProductFeedSchedule schedule;
097
098  /**
099   * @return An ISO 3166-1 Alpha 2 country code
100   */
101  @java.lang.SuppressWarnings("all")
102  public String getCountry() {
103    return this.country;
104  }
105
106  /**
107   * An ISO 3166-1 Alpha 2 country code
108   */
109  @java.lang.SuppressWarnings("all")
110  public void setCountry(final String country) {
111    this.country = country;
112  }
113
114  /**
115   * @return Creation time of the product feed
116   */
117  @Override
118  @java.lang.SuppressWarnings("all")
119  public Date getCreatedTime() {
120    return this.createdTime;
121  }
122
123  /**
124   * Creation time of the product feed
125   */
126  @java.lang.SuppressWarnings("all")
127  public void setCreatedTime(final Date createdTime) {
128    this.createdTime = createdTime;
129  }
130
131  /**
132   * @return Default currency for products
133   */
134  @java.lang.SuppressWarnings("all")
135  public String getDefaultCurrency() {
136    return this.defaultCurrency;
137  }
138
139  /**
140   * Default currency for products.
141   *
142   * If no currency is specified for items in the feed file, this value would be used
143   */
144  @java.lang.SuppressWarnings("all")
145  public void setDefaultCurrency(final String defaultCurrency) {
146    this.defaultCurrency = defaultCurrency;
147  }
148
149  /**
150   * @return Allows products to be deleted if they are no longer included in a product feed
151   */
152  @java.lang.SuppressWarnings("all")
153  public Boolean getDeletionEnabled() {
154    return this.deletionEnabled;
155  }
156
157  /**
158   * Allows products to be deleted if they are no longer included in a product feed
159   */
160  @java.lang.SuppressWarnings("all")
161  public void setDeletionEnabled(final Boolean deletionEnabled) {
162    this.deletionEnabled = deletionEnabled;
163  }
164
165  /**
166   * @return The delimiter used in product feed file
167   */
168  @java.lang.SuppressWarnings("all")
169  public String getDelimiter() {
170    return this.delimiter;
171  }
172
173  /**
174   * The delimiter used in product feed file
175   *
176   * possible values: AUTODETECT, BAR, COMMA, TAB, TILDE, SEMICOLON
177   */
178  @java.lang.SuppressWarnings("all")
179  public void setDelimiter(final String delimiter) {
180    this.delimiter = delimiter;
181  }
182
183  /**
184   * @return The character encoding used by provided feed
185   */
186  @java.lang.SuppressWarnings("all")
187  public String getEncoding() {
188    return this.encoding;
189  }
190
191  /**
192   * The character encoding used by provided feed
193   *
194   * possible values: AUTODETECT, LATIN1, UTF8, UTF16LE, UTF16BE, UTF32LE, UTF32BE
195   */
196  @java.lang.SuppressWarnings("all")
197  public void setEncoding(final String encoding) {
198    this.encoding = encoding;
199  }
200
201  /**
202   * @return File name of the product feed. Will be overridden by {@code name} if present
203   */
204  @java.lang.SuppressWarnings("all")
205  public String getFileName() {
206    return this.fileName;
207  }
208
209  /**
210   * File name of the product feed. Will be overridden by {@code name} if present
211   */
212  @java.lang.SuppressWarnings("all")
213  public void setFileName(final String fileName) {
214    this.fileName = fileName;
215  }
216
217  /**
218   * @return The latest upload session of the product feed
219   */
220  @java.lang.SuppressWarnings("all")
221  public ProductFeedUpload getLatestUpload() {
222    return this.latestUpload;
223  }
224
225  /**
226   * The latest upload session of the product feed
227   */
228  @java.lang.SuppressWarnings("all")
229  public void setLatestUpload(final ProductFeedUpload latestUpload) {
230    this.latestUpload = latestUpload;
231  }
232
233  /**
234   * @return The total products of this product catalog
235   */
236  @java.lang.SuppressWarnings("all")
237  public Long getProductCount() {
238    return this.productCount;
239  }
240
241  /**
242   * The total products of this product catalog
243   */
244  @java.lang.SuppressWarnings("all")
245  public void setProductCount(final Long productCount) {
246    this.productCount = productCount;
247  }
248
249  /**
250   * @return Allows tabs and newlines within fields
251   */
252  @java.lang.SuppressWarnings("all")
253  public String getQuotedFieldsMode() {
254    return this.quotedFieldsMode;
255  }
256
257  /**
258   * Allows tabs and newlines within fields
259   *
260   * possible values: AUTODETECT, ON, OFF
261   */
262  @java.lang.SuppressWarnings("all")
263  public void setQuotedFieldsMode(final String quotedFieldsMode) {
264    this.quotedFieldsMode = quotedFieldsMode;
265  }
266
267  /**
268   * @return The configuration for fetching a feed in a recurrant manner
269   */
270  @java.lang.SuppressWarnings("all")
271  public ProductFeedSchedule getSchedule() {
272    return this.schedule;
273  }
274
275  /**
276   * The configuration for fetching a feed in a recurrant manner
277   */
278  @java.lang.SuppressWarnings("all")
279  public void setSchedule(final ProductFeedSchedule schedule) {
280    this.schedule = schedule;
281  }
282}