001// Generated by delombok at Sun Jul 07 22:01:31 CEST 2019
002/**
003 * Copyright (c) 2010-2019 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;
027
028/**
029 * Represents the <a href="http://developers.facebook.com/docs/reference/api/group">Group Graph API type</a>.
030 * 
031 * @author <a href="http://restfb.com">Mark Allen</a>
032 * @since 1.5
033 */
034public class Group extends NamedFacebookType {
035  /**
036   * Information about the group's cover photo.
037   */
038  @Facebook
039  private CoverPhoto cover;
040  /**
041   * The email address to upload content to the group.
042   * <p>
043   * Only current members of the group can use this.
044   * </p>
045   */
046  @Facebook
047  private String email;
048  /**
049   * An object containing the name and ID of the user who owns the group.
050   */
051  @Facebook
052  private NamedFacebookType owner;
053  /**
054   * The group description.
055   */
056  @Facebook
057  private String description;
058  /**
059   * The URL for the group's website.
060   */
061  @Facebook
062  private String link;
063  /**
064   * The number of pending member requests.
065   * <p>
066   * If the token is for an administrator, this is the total number of outstanding requests. If the token is for a group
067   * member, this will return the number of friends who have requested membership and also use the same app that is
068   * making the request.
069   * </p>
070   */
071  @Facebook("member_request_count")
072  private Long memberRequestCount;
073  /**
074   * The parent of this group, if it exists.
075   */
076  @Facebook
077  private NamedFacebookType parent;
078  /**
079   * The location of this group, a structured address object.
080   */
081  @Facebook
082  private Location venue;
083  /**
084   * The privacy setting of the group, either 'OPEN', 'CLOSED', or 'SECRET'.
085   */
086  @Facebook
087  private String privacy;
088  /**
089   * The last time the group was updated.
090   */
091  @Facebook("updated_time")
092  private Date updatedTime;
093  /**
094   * The URL of the group's icon
095   *
096   * @since 1.6.16
097   */
098  @Facebook
099  private String icon;
100  private static final long serialVersionUID = 1L;
101
102  /**
103   * Information about the group's cover photo.
104   *
105   * @return Information about the group's cover photo.
106   */
107  @java.lang.SuppressWarnings("all")
108  public CoverPhoto getCover() {
109    return this.cover;
110  }
111
112  /**
113   * Information about the group's cover photo.
114   */
115  @java.lang.SuppressWarnings("all")
116  public void setCover(final CoverPhoto cover) {
117    this.cover = cover;
118  }
119
120  /**
121   * The email address to upload content to the group.
122   * <p>
123   * Only current members of the group can use this.
124   * </p>
125   * 
126   * @return The email address to upload content to the group.
127   */
128  @java.lang.SuppressWarnings("all")
129  public String getEmail() {
130    return this.email;
131  }
132
133  /**
134   * The email address to upload content to the group.
135   * <p>
136   * Only current members of the group can use this.
137   * </p>
138   */
139  @java.lang.SuppressWarnings("all")
140  public void setEmail(final String email) {
141    this.email = email;
142  }
143
144  /**
145   * An object containing the name and ID of the user who owns the group.
146   * 
147   * @return An object containing the name and ID of the user who owns the group.
148   */
149  @java.lang.SuppressWarnings("all")
150  public NamedFacebookType getOwner() {
151    return this.owner;
152  }
153
154  /**
155   * An object containing the name and ID of the user who owns the group.
156   */
157  @java.lang.SuppressWarnings("all")
158  public void setOwner(final NamedFacebookType owner) {
159    this.owner = owner;
160  }
161
162  /**
163   * The group description.
164   * 
165   * @return The group description.
166   */
167  @java.lang.SuppressWarnings("all")
168  public String getDescription() {
169    return this.description;
170  }
171
172  /**
173   * The group description.
174   */
175  @java.lang.SuppressWarnings("all")
176  public void setDescription(final String description) {
177    this.description = description;
178  }
179
180  /**
181   * The URL for the group's website.
182   * 
183   * @return The URL for the group's website.
184   */
185  @java.lang.SuppressWarnings("all")
186  public String getLink() {
187    return this.link;
188  }
189
190  /**
191   * The URL for the group's website.
192   */
193  @java.lang.SuppressWarnings("all")
194  public void setLink(final String link) {
195    this.link = link;
196  }
197
198  /**
199   * The number of pending member requests.
200   * <p>
201   * If the token is for an administrator, this is the total number of outstanding requests. If the token is for a group
202   * member, this will return the number of friends who have requested membership and also use the same app that is
203   * making the request.
204   * </p>
205   *
206   * @return The number of pending member requests
207   */
208  @java.lang.SuppressWarnings("all")
209  public Long getMemberRequestCount() {
210    return this.memberRequestCount;
211  }
212
213  /**
214   * The number of pending member requests.
215   * <p>
216   * If the token is for an administrator, this is the total number of outstanding requests. If the token is for a group
217   * member, this will return the number of friends who have requested membership and also use the same app that is
218   * making the request.
219   * </p>
220   */
221  @java.lang.SuppressWarnings("all")
222  public void setMemberRequestCount(final Long memberRequestCount) {
223    this.memberRequestCount = memberRequestCount;
224  }
225
226  /**
227   * The parent of this group, if it exists.
228   *
229   * @return The parent of this group, if it exists
230   */
231  @java.lang.SuppressWarnings("all")
232  public NamedFacebookType getParent() {
233    return this.parent;
234  }
235
236  /**
237   * The parent of this group, if it exists.
238   */
239  @java.lang.SuppressWarnings("all")
240  public void setParent(final NamedFacebookType parent) {
241    this.parent = parent;
242  }
243
244  /**
245   * The location of this group, a structured address object.
246   * 
247   * @return The location of this group, a structured address object.
248   */
249  @java.lang.SuppressWarnings("all")
250  public Location getVenue() {
251    return this.venue;
252  }
253
254  /**
255   * The location of this group, a structured address object.
256   */
257  @java.lang.SuppressWarnings("all")
258  public void setVenue(final Location venue) {
259    this.venue = venue;
260  }
261
262  /**
263   * The privacy setting of the group, either 'OPEN', 'CLOSED', or 'SECRET'.
264   * 
265   * @return The privacy setting of the group, either 'OPEN', 'CLOSED', or 'SECRET'.
266   */
267  @java.lang.SuppressWarnings("all")
268  public String getPrivacy() {
269    return this.privacy;
270  }
271
272  /**
273   * The privacy setting of the group, either 'OPEN', 'CLOSED', or 'SECRET'.
274   */
275  @java.lang.SuppressWarnings("all")
276  public void setPrivacy(final String privacy) {
277    this.privacy = privacy;
278  }
279
280  /**
281   * The last time the group was updated.
282   * 
283   * @return The last time the group was updated.
284   */
285  @java.lang.SuppressWarnings("all")
286  public Date getUpdatedTime() {
287    return this.updatedTime;
288  }
289
290  /**
291   * The last time the group was updated.
292   */
293  @java.lang.SuppressWarnings("all")
294  public void setUpdatedTime(final Date updatedTime) {
295    this.updatedTime = updatedTime;
296  }
297
298  /**
299   * The URL of the group's icon
300   * 
301   * @return The group's icon url
302   * @since 1.6.16
303   */
304  @java.lang.SuppressWarnings("all")
305  public String getIcon() {
306    return this.icon;
307  }
308
309  /**
310   * The URL of the group's icon
311   *
312   * @since 1.6.16
313   */
314  @java.lang.SuppressWarnings("all")
315  public void setIcon(final String icon) {
316    this.icon = icon;
317  }
318}