001// Generated by delombok at Thu Aug 13 13:56:44 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;
024
025import java.util.*;
026import com.restfb.Facebook;
027
028/**
029 * Represents the <a href="https://developers.facebook.com/docs/graph-api/reference/open-graph-action-type/">Open Graph
030 * Action Type</a>
031 */
032public class OpenGraphActionType extends NamedFacebookType {
033  /**
034   * Whether multiple objects can be referenced by the action
035   */
036  @Facebook("allow_multiple_references")
037  private Boolean allowMultipleReferences;
038  /**
039   * The preposition used to address the app
040   */
041  @Facebook("app_preposition")
042  private String appPreposition;
043  /**
044   * Button text
045   */
046  @Facebook("button_text")
047  private String buttonText;
048  /**
049   * Description
050   */
051  @Facebook
052  private String description;
053  /**
054   * Whether the app secret is required for API calls related to actions of this type
055   */
056  @Facebook("is_app_secret_required")
057  private Boolean isAppSecretRequired;
058  @Facebook("object_types")
059  private List<String> objectTypes = new ArrayList<>();
060  /**
061   * The plural past form of the action
062   */
063  @Facebook("plural_past")
064  private String pluralPast;
065  /**
066   * The plural present form of the action
067   */
068  @Facebook("plural_present")
069  private String pluralPresent;
070  @Facebook("property_config")
071  private Map<String, OpenGraphPropertyConfig> propertyConfig = new HashMap<>();
072  /**
073   * The singular past form of the action
074   */
075  @Facebook("singular_past")
076  private String singularPast;
077  /**
078   * The singular present form of the action
079   */
080  @Facebook("singular_present")
081  private String singularPresent;
082  /**
083   * Bitmap of tenses that are disabled (the least significant bit relates to past tense, the second least significant
084   * relates to present tense
085   */
086  @Facebook("tenses_disabled")
087  private Integer tensesDisabled;
088
089  /**
090   * Per-property config
091   *
092   * @return Per-property config
093   */
094  public Map<String, OpenGraphPropertyConfig> getPropertyConfig() {
095    return Collections.unmodifiableMap(propertyConfig);
096  }
097
098  public void addPropertyConfig(String key, OpenGraphPropertyConfig value) {
099    propertyConfig.put(key, value);
100  }
101
102  public void removePropertyConfig(String key) {
103    propertyConfig.remove(key);
104  }
105
106  /**
107   * Object types associated with this action type
108   *
109   * @return Object types associated with this action type
110   */
111  public List<String> getObjectTypes() {
112    return Collections.unmodifiableList(objectTypes);
113  }
114
115  public boolean addObjectType(String objectType) {
116    return objectTypes.add(objectType);
117  }
118
119  public boolean removeObjectType(String objectType) {
120    return objectTypes.remove(objectType);
121  }
122
123  /**
124   * Whether multiple objects can be referenced by the action
125   */
126  @java.lang.SuppressWarnings("all")
127  @lombok.Generated
128  public Boolean getAllowMultipleReferences() {
129    return this.allowMultipleReferences;
130  }
131
132  /**
133   * Whether multiple objects can be referenced by the action
134   */
135  @java.lang.SuppressWarnings("all")
136  @lombok.Generated
137  public void setAllowMultipleReferences(final Boolean allowMultipleReferences) {
138    this.allowMultipleReferences = allowMultipleReferences;
139  }
140
141  /**
142   * The preposition used to address the app
143   */
144  @java.lang.SuppressWarnings("all")
145  @lombok.Generated
146  public String getAppPreposition() {
147    return this.appPreposition;
148  }
149
150  /**
151   * The preposition used to address the app
152   */
153  @java.lang.SuppressWarnings("all")
154  @lombok.Generated
155  public void setAppPreposition(final String appPreposition) {
156    this.appPreposition = appPreposition;
157  }
158
159  /**
160   * Button text
161   */
162  @java.lang.SuppressWarnings("all")
163  @lombok.Generated
164  public String getButtonText() {
165    return this.buttonText;
166  }
167
168  /**
169   * Button text
170   */
171  @java.lang.SuppressWarnings("all")
172  @lombok.Generated
173  public void setButtonText(final String buttonText) {
174    this.buttonText = buttonText;
175  }
176
177  /**
178   * Description
179   */
180  @java.lang.SuppressWarnings("all")
181  @lombok.Generated
182  public String getDescription() {
183    return this.description;
184  }
185
186  /**
187   * Description
188   */
189  @java.lang.SuppressWarnings("all")
190  @lombok.Generated
191  public void setDescription(final String description) {
192    this.description = description;
193  }
194
195  /**
196   * Whether the app secret is required for API calls related to actions of this type
197   */
198  @java.lang.SuppressWarnings("all")
199  @lombok.Generated
200  public Boolean getIsAppSecretRequired() {
201    return this.isAppSecretRequired;
202  }
203
204  /**
205   * Whether the app secret is required for API calls related to actions of this type
206   */
207  @java.lang.SuppressWarnings("all")
208  @lombok.Generated
209  public void setIsAppSecretRequired(final Boolean isAppSecretRequired) {
210    this.isAppSecretRequired = isAppSecretRequired;
211  }
212
213  /**
214   * The plural past form of the action
215   */
216  @java.lang.SuppressWarnings("all")
217  @lombok.Generated
218  public String getPluralPast() {
219    return this.pluralPast;
220  }
221
222  /**
223   * The plural past form of the action
224   */
225  @java.lang.SuppressWarnings("all")
226  @lombok.Generated
227  public void setPluralPast(final String pluralPast) {
228    this.pluralPast = pluralPast;
229  }
230
231  /**
232   * The plural present form of the action
233   */
234  @java.lang.SuppressWarnings("all")
235  @lombok.Generated
236  public String getPluralPresent() {
237    return this.pluralPresent;
238  }
239
240  /**
241   * The plural present form of the action
242   */
243  @java.lang.SuppressWarnings("all")
244  @lombok.Generated
245  public void setPluralPresent(final String pluralPresent) {
246    this.pluralPresent = pluralPresent;
247  }
248
249  /**
250   * The singular past form of the action
251   */
252  @java.lang.SuppressWarnings("all")
253  @lombok.Generated
254  public String getSingularPast() {
255    return this.singularPast;
256  }
257
258  /**
259   * The singular past form of the action
260   */
261  @java.lang.SuppressWarnings("all")
262  @lombok.Generated
263  public void setSingularPast(final String singularPast) {
264    this.singularPast = singularPast;
265  }
266
267  /**
268   * The singular present form of the action
269   */
270  @java.lang.SuppressWarnings("all")
271  @lombok.Generated
272  public String getSingularPresent() {
273    return this.singularPresent;
274  }
275
276  /**
277   * The singular present form of the action
278   */
279  @java.lang.SuppressWarnings("all")
280  @lombok.Generated
281  public void setSingularPresent(final String singularPresent) {
282    this.singularPresent = singularPresent;
283  }
284
285  /**
286   * Bitmap of tenses that are disabled (the least significant bit relates to past tense, the second least significant
287   * relates to present tense
288   */
289  @java.lang.SuppressWarnings("all")
290  @lombok.Generated
291  public Integer getTensesDisabled() {
292    return this.tensesDisabled;
293  }
294
295  /**
296   * Bitmap of tenses that are disabled (the least significant bit relates to past tense, the second least significant
297   * relates to present tense
298   */
299  @java.lang.SuppressWarnings("all")
300  @lombok.Generated
301  public void setTensesDisabled(final Integer tensesDisabled) {
302    this.tensesDisabled = tensesDisabled;
303  }
304}