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.Date;
026import com.restfb.Facebook;
027import com.restfb.types.features.HasCover;
028
029/**
030 * Represents the <a href="http://developers.facebook.com/docs/reference/api/group">Group Graph API type</a>.
031 *
032 * @author <a href="http://restfb.com">Mark Allen</a>
033 * @since 1.5
034 */
035public class Group extends NamedFacebookType implements HasCover {
036  /**
037   * administrator
038   */
039  @Facebook
040  private Boolean administrator;
041  /**
042   * Information about the group's cover photo.
043   */
044  @Facebook
045  private CoverPhoto cover;
046  /**
047   * The email address to upload content to the group.
048   * <p>
049   * Only current members of the group can use this.
050   * </p>
051   */
052  @Facebook
053  private String email;
054  /**
055   * An object containing the name and ID of the user who owns the group.
056   */
057  @Facebook
058  private NamedFacebookType owner;
059  /**
060   * The group description.
061   */
062  @Facebook
063  private String description;
064  /**
065   * The URL for the group's website.
066   */
067  @Facebook
068  private String link;
069  /**
070   * The number of pending member requests.
071   * <p>
072   * If the token is for an administrator, this is the total number of outstanding requests. If the token is for a group
073   * member, this will return the number of friends who have requested membership and also use the same app that is
074   * making the request.
075   * </p>
076   */
077  @Facebook("member_request_count")
078  private Long memberRequestCount;
079  /**
080   * The number of members in the Group.
081   */
082  @Facebook("member_count")
083  private Long memberCount;
084  /**
085   * The parent of this group, if it exists.
086   */
087  @Facebook
088  private NamedFacebookType parent;
089  /**
090   * The location of this group, a structured address object.
091   */
092  @Facebook
093  private Location venue;
094  /**
095   * The privacy setting of the group, either 'OPEN', 'CLOSED', or 'SECRET'.
096   */
097  @Facebook
098  private String privacy;
099  /**
100   * unread count
101   */
102  @Facebook
103  private Long unread;
104  /**
105   * The last time the group was updated.
106   */
107  @Facebook("updated_time")
108  private Date updatedTime;
109  /**
110   * The URL of the group's icon
111   *
112   * @since 1.6.16
113   */
114  @Facebook
115  private String icon;
116  private static final long serialVersionUID = 1L;
117
118  /**
119   * administrator
120   */
121  @java.lang.SuppressWarnings("all")
122  @lombok.Generated
123  public Boolean getAdministrator() {
124    return this.administrator;
125  }
126
127  /**
128   * administrator
129   */
130  @java.lang.SuppressWarnings("all")
131  @lombok.Generated
132  public void setAdministrator(final Boolean administrator) {
133    this.administrator = administrator;
134  }
135
136  /**
137   * Information about the group's cover photo.
138   *
139   * @return Information about the group's cover photo.
140   */
141  @Override
142  @java.lang.SuppressWarnings("all")
143  @lombok.Generated
144  public CoverPhoto getCover() {
145    return this.cover;
146  }
147
148  /**
149   * Information about the group's cover photo.
150   */
151  @java.lang.SuppressWarnings("all")
152  @lombok.Generated
153  public void setCover(final CoverPhoto cover) {
154    this.cover = cover;
155  }
156
157  /**
158   * The email address to upload content to the group.
159   * <p>
160   * Only current members of the group can use this.
161   * </p>
162   *
163   * @return The email address to upload content to the group.
164   */
165  @java.lang.SuppressWarnings("all")
166  @lombok.Generated
167  public String getEmail() {
168    return this.email;
169  }
170
171  /**
172   * The email address to upload content to the group.
173   * <p>
174   * Only current members of the group can use this.
175   * </p>
176   */
177  @java.lang.SuppressWarnings("all")
178  @lombok.Generated
179  public void setEmail(final String email) {
180    this.email = email;
181  }
182
183  /**
184   * An object containing the name and ID of the user who owns the group.
185   *
186   * @return An object containing the name and ID of the user who owns the group.
187   */
188  @java.lang.SuppressWarnings("all")
189  @lombok.Generated
190  public NamedFacebookType getOwner() {
191    return this.owner;
192  }
193
194  /**
195   * An object containing the name and ID of the user who owns the group.
196   */
197  @java.lang.SuppressWarnings("all")
198  @lombok.Generated
199  public void setOwner(final NamedFacebookType owner) {
200    this.owner = owner;
201  }
202
203  /**
204   * The group description.
205   *
206   * @return The group description.
207   */
208  @java.lang.SuppressWarnings("all")
209  @lombok.Generated
210  public String getDescription() {
211    return this.description;
212  }
213
214  /**
215   * The group description.
216   */
217  @java.lang.SuppressWarnings("all")
218  @lombok.Generated
219  public void setDescription(final String description) {
220    this.description = description;
221  }
222
223  /**
224   * The URL for the group's website.
225   *
226   * @return The URL for the group's website.
227   */
228  @java.lang.SuppressWarnings("all")
229  @lombok.Generated
230  public String getLink() {
231    return this.link;
232  }
233
234  /**
235   * The URL for the group's website.
236   */
237  @java.lang.SuppressWarnings("all")
238  @lombok.Generated
239  public void setLink(final String link) {
240    this.link = link;
241  }
242
243  /**
244   * The number of pending member requests.
245   * <p>
246   * If the token is for an administrator, this is the total number of outstanding requests. If the token is for a group
247   * member, this will return the number of friends who have requested membership and also use the same app that is
248   * making the request.
249   * </p>
250   *
251   * @return The number of pending member requests
252   */
253  @java.lang.SuppressWarnings("all")
254  @lombok.Generated
255  public Long getMemberRequestCount() {
256    return this.memberRequestCount;
257  }
258
259  /**
260   * The number of pending member requests.
261   * <p>
262   * If the token is for an administrator, this is the total number of outstanding requests. If the token is for a group
263   * member, this will return the number of friends who have requested membership and also use the same app that is
264   * making the request.
265   * </p>
266   */
267  @java.lang.SuppressWarnings("all")
268  @lombok.Generated
269  public void setMemberRequestCount(final Long memberRequestCount) {
270    this.memberRequestCount = memberRequestCount;
271  }
272
273  /**
274   * The number of members in the Group.
275   */
276  @java.lang.SuppressWarnings("all")
277  @lombok.Generated
278  public Long getMemberCount() {
279    return this.memberCount;
280  }
281
282  /**
283   * The number of members in the Group.
284   */
285  @java.lang.SuppressWarnings("all")
286  @lombok.Generated
287  public void setMemberCount(final Long memberCount) {
288    this.memberCount = memberCount;
289  }
290
291  /**
292   * The parent of this group, if it exists.
293   *
294   * @return The parent of this group, if it exists
295   */
296  @java.lang.SuppressWarnings("all")
297  @lombok.Generated
298  public NamedFacebookType getParent() {
299    return this.parent;
300  }
301
302  /**
303   * The parent of this group, if it exists.
304   */
305  @java.lang.SuppressWarnings("all")
306  @lombok.Generated
307  public void setParent(final NamedFacebookType parent) {
308    this.parent = parent;
309  }
310
311  /**
312   * The location of this group, a structured address object.
313   *
314   * @return The location of this group, a structured address object.
315   */
316  @java.lang.SuppressWarnings("all")
317  @lombok.Generated
318  public Location getVenue() {
319    return this.venue;
320  }
321
322  /**
323   * The location of this group, a structured address object.
324   */
325  @java.lang.SuppressWarnings("all")
326  @lombok.Generated
327  public void setVenue(final Location venue) {
328    this.venue = venue;
329  }
330
331  /**
332   * The privacy setting of the group, either 'OPEN', 'CLOSED', or 'SECRET'.
333   *
334   * @return The privacy setting of the group, either 'OPEN', 'CLOSED', or 'SECRET'.
335   */
336  @java.lang.SuppressWarnings("all")
337  @lombok.Generated
338  public String getPrivacy() {
339    return this.privacy;
340  }
341
342  /**
343   * The privacy setting of the group, either 'OPEN', 'CLOSED', or 'SECRET'.
344   */
345  @java.lang.SuppressWarnings("all")
346  @lombok.Generated
347  public void setPrivacy(final String privacy) {
348    this.privacy = privacy;
349  }
350
351  /**
352   * unread count
353   */
354  @java.lang.SuppressWarnings("all")
355  @lombok.Generated
356  public Long getUnread() {
357    return this.unread;
358  }
359
360  /**
361   * unread count
362   */
363  @java.lang.SuppressWarnings("all")
364  @lombok.Generated
365  public void setUnread(final Long unread) {
366    this.unread = unread;
367  }
368
369  /**
370   * The last time the group was updated.
371   *
372   * @return The last time the group was updated.
373   */
374  @java.lang.SuppressWarnings("all")
375  @lombok.Generated
376  public Date getUpdatedTime() {
377    return this.updatedTime;
378  }
379
380  /**
381   * The last time the group was updated.
382   */
383  @java.lang.SuppressWarnings("all")
384  @lombok.Generated
385  public void setUpdatedTime(final Date updatedTime) {
386    this.updatedTime = updatedTime;
387  }
388
389  /**
390   * The URL of the group's icon
391   *
392   * @return The group's icon url
393   * @since 1.6.16
394   */
395  @java.lang.SuppressWarnings("all")
396  @lombok.Generated
397  public String getIcon() {
398    return this.icon;
399  }
400
401  /**
402   * The URL of the group's icon
403   *
404   * @since 1.6.16
405   */
406  @java.lang.SuppressWarnings("all")
407  @lombok.Generated
408  public void setIcon(final String icon) {
409    this.icon = icon;
410  }
411}