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