001// Generated by delombok at Wed Jan 31 21:27:42 UTC 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;
024
025import static java.util.Collections.unmodifiableList;
026import java.util.*;
027import com.restfb.Connection;
028import com.restfb.Facebook;
029import com.restfb.JsonMapper;
030import com.restfb.JsonMapper.JsonMappingCompleted;
031import com.restfb.annotation.GraphAPI;
032import com.restfb.json.Json;
033import com.restfb.json.JsonObject;
034import com.restfb.json.JsonValue;
035import com.restfb.types.ads.Business;
036import com.restfb.types.features.HasProfilePicture;
037import com.restfb.types.instagram.IgUser;
038
039/**
040 * Represents the <a href="https://developers.facebook.com/docs/graph-api/reference/page/">Page Graph API type</a>.
041 * 
042 * @author <a href="http://restfb.com">Mark Allen</a>
043 * @since 1.5
044 */
045public class Page extends CategorizedFacebookType implements HasProfilePicture {
046  @Facebook("picture")
047  private transient String rawPicture;
048  /**
049   * The pages's profile picture, if provided.
050   * 
051   * To force Facebook to fill the <code>picture</code> field you have to fetch the page with the
052   * <code>fields=picture</code> parameter, otherwise the picture is <code>null</code>.
053   * 
054   */
055  private ProfilePictureSource picture;
056  @Facebook("admin_notes")
057  private List<PageAdminNote> adminNotes = new ArrayList<>();
058  /**
059   * Affiliation of this person. Applicable to Pages representing people
060   * 
061   * @since 1.10.0
062   */
063  @Facebook
064  private String affiliation;
065  /**
066   * App ID for app-owned Pages and app Pages.
067   */
068  @Facebook("app_id")
069  private String appId;
070  /**
071   * Artists the band likes. Applicable to Bands
072   * 
073   * @since 1.10.0
074   */
075  @Facebook("artists_we_like")
076  private String artistsWeLike;
077  /**
078   * relevance score of an asset.
079   */
080  @Facebook("asset_score")
081  private Double assetScore;
082  /**
083   * Dress code of the business. Applicable to Restaurants or Nightlife. Can be one of Casual, Dressy or Unspecified
084   * 
085   * @since 1.10.0
086   */
087  @Facebook
088  private String attire;
089  /**
090   * The awards information of the film. Applicable to Films
091   * 
092   * @since 1.10.0
093   */
094  @Facebook
095  private String awards;
096  /**
097   * Band interests. Applicable to Bands
098   * 
099   * @since 1.10.0
100   */
101  @Facebook("band_interests")
102  private String bandInterests;
103  /**
104   * Members of the band. Applicable to Bands
105   * 
106   * @since 1.10.0
107   */
108  @Facebook("band_members")
109  private String bandMembers;
110  /**
111   * The best available Page on Facebook for the concept represented by this Page. The best available Page takes into
112   * account authenticity and the number of likes
113   * 
114   * @since 1.10.0
115   */
116  @Facebook("best_page")
117  private Page bestPage;
118  /**
119   * The mailing or contact address for this page. This field will be blank if the contact address is the same as the
120   * physical address
121   * 
122   * @since 1.10.0
123   */
124  @Facebook("contact_address")
125  private MailingAddress contactAddress;
126  /**
127   * If this is a Page in a Global Pages hierarchy, the number of people who are being directed to this Page.
128   */
129  @Facebook("country_page_likes")
130  private Integer countryPageLikes;
131  /**
132   * The Page's category. e.g. Product/Service, Computers/Technology
133   */
134  @Facebook
135  private String category;
136  /**
137   * Biography of the band. Applicable to Bands
138   * 
139   * @since 1.10.0
140   */
141  @Facebook
142  private String bio;
143  /**
144   * Birthday of this person. Applicable to Pages representing people
145   * 
146   * @since 1.10.0
147   */
148  @Facebook
149  private String birthday;
150  /**
151   * Year vehicle was built. Applicable to Vehicles
152   * 
153   * @since 1.10.0
154   */
155  @Facebook
156  private String built;
157  /**
158   * The Business associated with this Page.
159   */
160  @Facebook
161  private Business business;
162  /**
163   * Culinary team of the business. Applicable to Restaurants or Nightlife
164   * 
165   * @since 1.10.0
166   */
167  @Facebook("culinary_team")
168  private String culinaryTeam;
169  /**
170   * Current location of the Page.
171   * 
172   * @since 1.10.0
173   */
174  @Facebook("current_location")
175  private String currentLocation;
176  /**
177   * Features of the vehicle. Applicable to Vehicles
178   * 
179   * @since 1.10.0
180   */
181  @Facebook
182  private String features;
183  /**
184   * Number of page followers
185   */
186  @Facebook("followers_count")
187  private Long followersCount;
188  /**
189   * The name of the Page with country codes appended for Global Brand Pages. Only visible to the Page admin
190   * 
191   * @since 1.10.0
192   */
193  @Facebook("global_brand_page_name")
194  private String globalBrandPageName;
195  /**
196   * This brand's global Root ID.
197   */
198  @Facebook("global_brand_root_id")
199  private String globalBrandRootId;
200  /**
201   * This brand's global (parent) Page.
202   * 
203   * @since 1.10.0
204   */
205  @Facebook("global_brand_parent_page")
206  private Page globalBrandParentPage;
207  /**
208   * Indicates whether this Page has added the app making the query in a Page tab.
209   * 
210   * @since 1.10.0
211   */
212  @Facebook("has_added_app")
213  private Boolean hasAddedApp;
214  /**
215   * has whatsapp number
216   */
217  @Facebook("has_whatsapp_number")
218  private Boolean hasWhatsappNumber;
219  /**
220   * Indicates whether WhatsApp number connected to this page is a WhatsApp business number
221   */
222  @Facebook("has_whatsapp_business_number")
223  private Boolean hasWhatsappBusinessNumber;
224  /**
225   * Hometown of the band. Applicable to Bands
226   * 
227   * @since 1.10.0
228   */
229  @Facebook
230  private String hometown;
231  @Facebook("hours")
232  private List<JsonObject> rawHours = new ArrayList<>();
233  @Facebook("hours")
234  private Map<String, String> rawHoursMap = new HashMap<>();
235  /**
236   * Opening hours
237   *
238   * @since 1.10.1
239   */
240  private Hours hours;
241  /**
242   * Legal information about the Page publishers.
243   * 
244   * @since 1.10.0
245   */
246  @Facebook
247  private String impressum;
248  /**
249   * Influences on the band. Applicable to Bands
250   * 
251   * @since 1.10.0
252   */
253  @Facebook
254  private String influences;
255  /**
256   * Whether the business corresponding to this Page is permanently closed.
257   * 
258   * @since 1.10.0
259   */
260  @Facebook("is_permanently_closed")
261  private Boolean isPermanentlyClosed;
262  private List<PageLabel> labels = new ArrayList<>();
263  /**
264   * owner business of this object
265   */
266  @Facebook("owner_business")
267  private Business ownerBusiness;
268  /**
269   * Overall page rating based on rating survey from users on a scale of 1-5. This value is normalized and is not
270   * guaranteed to be a strict average of user ratings. If there are 0 or a small number of ratings, this field will not
271   * be returned.
272   */
273  @Facebook("overall_star_rating")
274  private Double overallStarRating;
275  /**
276   * Number of ratings for the page (limited to ratings that are publicly accessible
277   */
278  @Facebook("rating_count")
279  private Integer ratingCount;
280  /**
281   * Messenger page scope id associated with page and a user using account_linking_token
282   */
283  @Facebook
284  private String recipient;
285  @Facebook("labels")
286  private transient String rawLabels;
287  /**
288   * Personal information. Applicable to Pages representing People
289   * 
290   * @since 1.10.0
291   */
292  @Facebook("personal_info")
293  private String personalInfo;
294  /**
295   * Payment options accepted by the business. Applicable to Restaurants or Nightlife
296   * 
297   * @since 1.10.0
298   */
299  @Facebook("payment_options")
300  private PagePaymentOptions paymentOptions;
301  /**
302   * Personal interests. Applicable to Pages representing People
303   * 
304   * @since 1.10.0
305   */
306  @Facebook("personal_interests")
307  private String personalInterests;
308  /**
309   * Pharmacy safety information. Applicable to Pharmaceutical companies
310   * 
311   * @since 1.10.0
312   */
313  @Facebook("pharma_safety_info")
314  private String pharmaSafetyInfo;
315  /**
316   * For places, the category of the place.
317   */
318  @Facebook("place_type")
319  private String placeType;
320  /**
321   * The plot outline of the film. Applicable to Films
322   * 
323   * @since 1.10.0
324   */
325  @Facebook("plot_outline")
326  private String plotOutline;
327  /**
328   * Price range of the business. Applicable to Restaurants or Nightlife. Can be one of $ (0-10), $$ (10-30), $$$
329   * (30-50), $$$$ (50+) or Unspecified
330   * 
331   * @since 1.10.0
332   */
333  @Facebook("price_range")
334  private String priceRange;
335  /**
336   * The productor of the film. Applicable to Films
337   * 
338   * @since 1.10.0
339   */
340  @Facebook("produced_by")
341  private String producedBy;
342  /**
343   * Reason why a post isn't eligible for boosting. Only visible to Page Admins
344   * 
345   * @since 1.10.0
346   */
347  @Facebook("promotion_eligible")
348  private Boolean promotionEligible;
349  /**
350   * Reason, for which boosted posts are not eligible. Only visible to a page admin
351   * 
352   * @since 1.10.0
353   */
354  @Facebook("promotion_ineligible_reason")
355  private String promotionIneligibleReason;
356  /**
357   * Public transit to the business. Applicable to Restaurants or Nightlife
358   * 
359   * @since 1.10.0
360   */
361  @Facebook("public_transit")
362  private String publicTransit;
363  /**
364   * Record label of the band. Applicable to Bands
365   * 
366   * @since 1.10.0
367   */
368  @Facebook("record_label")
369  private String recordLabel;
370  /**
371   * The film's release date. Applicable to Films
372   * 
373   * @since 1.10.0
374   */
375  @Facebook("release_date")
376  private String releaseDate;
377  /**
378   * Services the restaurant provides. Applicable to Restaurants
379   * 
380   * @since 1.10.0
381   */
382  @Facebook("restaurant_services")
383  private PageRestaurantServices restaurantServices;
384  /**
385   * The restaurant's specialties. Applicable to Restaurants
386   * 
387   * @since 1.10.0
388   */
389  @Facebook("restaurant_specialties")
390  private PageRestaurantSpecialties restaurantSpecialties;
391  /**
392   * Unique store code for this location Page
393   */
394  @Facebook("store_code")
395  private String storeCode;
396  /**
397   * Location Page's store location descriptor
398   */
399  @Facebook("store_location_descriptor")
400  @GraphAPI(since = "2.5")
401  private String storeLocationDescriptor;
402  @Facebook("user_access_expire_time")
403  private Date userAccessExpireTime;
404  /**
405   * The genre of the film. Applicable to Films
406   * 
407   * @since 1.10.0
408   */
409  @Facebook
410  private String genre;
411  /**
412   * MPG of the vehicle. Applicable to Vehicles
413   * 
414   * @since 1.10.0
415   */
416  @Facebook
417  private String mpg;
418  /**
419   * The TV network for the TV show. Applicable to TV Shows
420   * 
421   * @since 1.10.0
422   */
423  @Facebook
424  private String network;
425  /**
426   * The number of people who have liked the Page, since the last login. Only visible to a page admin
427   * 
428   * @since 1.10.0
429   */
430  @Facebook("new_like_count")
431  private Long newLikeCount;
432  /**
433   * Offer eligibility status. Only visible to a page admin
434   * 
435   * @since 1.10.0
436   */
437  @Facebook("offer_eligible")
438  private Boolean offerEligible;
439  /**
440   * The air schedule of the TV show. Applicable to TV Shows
441   * 
442   * @since 1.10.0
443   */
444  @Facebook
445  private String schedule;
446  /**
447   * The screenwriter of the film. Applicable to Films
448   * 
449   * @since 1.10.0
450   */
451  @Facebook("screenplay_by")
452  private String screenplayBy;
453  /**
454   * The season information of the TV Show. Applicable to TV Shows
455   * 
456   * @since 1.10.0
457   */
458  @Facebook
459  private String season;
460  /**
461   * The page address, if any, in a simple single line format.
462   */
463  @Facebook("single_line_address")
464  private String singleLineAddress;
465  /**
466   * The cast of the film. Applicable to Films
467   * 
468   * @since 1.10.0
469   */
470  @Facebook
471  private String starring;
472  /**
473   * Information about when the entity represented by the Page was started
474   * 
475   * @since 1.10.0
476   */
477  @Facebook("start_info")
478  private PageStartInfo startInfo;
479  /**
480   * Unique store number for this location Page.
481   * 
482   * @since 1.10.0
483   */
484  @Facebook("store_number")
485  private String storeNumber;
486  /**
487   * The studio for the film production. Applicable to Films
488   * 
489   * @since 1.10.0
490   */
491  @Facebook
492  private String studio;
493  /**
494   * Indicates how the business corresponding to this Page is operating differently than usual. Possible values:
495   *
496   * <ul>
497   * <li>differently_open</li>
498   * <li>temporarily_closed</li>
499   * <li>operating_as_usual</li>
500   * <li>no_data</li>
501   * </ul>
502   */
503  @Facebook("temporary_status")
504  private String temporaryStatus;
505  /**
506   * The social sentence and like count information for this Page. This is the same info used for the like button
507   * 
508   * @since 1.10.0
509   */
510  @Facebook
511  private Engagement engagement;
512  /**
513   * Unread message count for the Page. Only visible to a page admin
514   * 
515   * @since 1.10.0
516   */
517  @Facebook("unread_message_count")
518  private Long unreadMessageCount;
519  /**
520   * Number of unread notifications. Only visible to a page admin
521   * 
522   * @since 1.10.0
523   */
524  @Facebook("unread_notif_count")
525  private Long unreadNotifCount;
526  /**
527   * Unseen message count for the Page. Only visible to a page admin
528   * 
529   * @since 1.10.0
530   */
531  @Facebook("unseen_message_count")
532  private Long unseenMessageCount;
533  /**
534   * Members of this org. Applicable to Pages representing Team Orgs
535   * 
536   * @since 1.10.0
537   */
538  @Facebook
539  private String members;
540  /**
541   * The number of visits to this Page's location. If the Page setting Show map, check-ins and star ratings on the Page
542   * (under Page Settings &gt; Page Info &gt; Address) is disabled, then this value will also be disabled
543   * 
544   * @since 1.10.0
545   */
546  @Facebook("were_here_count")
547  private Long wereHereCount;
548  /**
549   * Video Featured by the Page. Only visible to the Page admin
550   * 
551   * @since 1.10.0
552   */
553  @Facebook("featured_video")
554  private Video featuredVideo;
555  /**
556   * Showing whether this Page is verified and in what color e.g. blue verified, gray verified or not verified
557   */
558  @Facebook("verification_status")
559  private String verificationStatus;
560  /**
561   * Voip info
562   * 
563   * @since 1.10.0
564   */
565  @Facebook("voip_info")
566  private VoipInfo voipInfo;
567  /**
568   * The writer of the TV show. Applicable to TV Shows
569   * 
570   * @since 1.10.0
571   */
572  @Facebook("written_by")
573  private String writtenBy;
574  /**
575   * whatsapp number
576   */
577  @Facebook("whatsapp_number")
578  private String whatsappNumber;
579  /**
580   * The page's link.
581   * 
582   */
583  @Facebook
584  private String link;
585  /**
586   * The page's username. The alias of the Page. For example, for www.facebook.com/platform the username is 'platform'
587   * 
588   */
589  @Facebook
590  private String username;
591  /**
592   * When the page was founded.
593   * 
594   */
595  @Facebook
596  private String founded;
597  /**
598   * Overview of the page's company.
599   * 
600   */
601  @Facebook("company_overview")
602  private String companyOverview;
603  /**
604   * The company mission. Applicable to Companies
605   * 
606   */
607  @Facebook
608  private String mission;
609  /**
610   * The page's products.
611   * 
612   */
613  @Facebook
614  private String products;
615  @Facebook("page_token")
616  private String pageToken;
617  /**
618   * Parent Page of this Page.
619   *
620   * If the Page is part of a Global Root Structure and you have permission to the Global Root, the Global Root Parent
621   * Page is returned. If you do not have Global Root permission, the Market Page for your current region is returned as
622   * the Parent Page.
623   *
624   * If your Page is not part of a Global Root Structure, the Parent Page is returned.
625   */
626  @Facebook("parent_page")
627  private Page parentPage;
628  /**
629   * Privacy url in page info section
630   */
631  @Facebook("privacy_info_url")
632  private String privacyInfoUrl;
633  /**
634   * Indicates whether a user has accepted the TOS for running LeadGen Ads on the Page.
635   * 
636   */
637  @Facebook("leadgen_tos_accepted")
638  private Boolean leadgenTosAccepted;
639  /**
640   * The number of likes the page has.
641   *
642   * Since Graph 2.6 you should use {@link Page#fanCount} instead
643   *
644   * @since 1.6.5
645   */
646  @Facebook("likes")
647  @GraphAPI(until = "2.5")
648  private Long likesCount;
649  /**
650   * The Pages that this Page Likes.
651   */
652  @Facebook
653  @GraphAPI(since = "2.6")
654  private Likes likes;
655  /**
656   * The number of likes the page has.
657   */
658  @Facebook("fan_count")
659  @GraphAPI(since = "2.6")
660  private Long fanCount;
661  /**
662   * Indicates whether this location is always open.
663   */
664  @Facebook("is_always_open")
665  private Boolean isAlwaysOpen;
666  /**
667   * Indicates whether location is part of a chain
668   */
669  @Facebook("is_chain")
670  private Boolean isChain;
671  /**
672   * Is this a community page?
673   * 
674   */
675  @Facebook("is_community_page")
676  private Boolean isCommunityPage;
677  /**
678   * Indicates whether the page is eligible for the branded content tool
679   */
680  @Facebook("is_eligible_for_branded_content")
681  private Boolean isEligibleForBrandedContent;
682  /**
683   * Indicates whether the page is a Messenger Platform Bot with Get Started button enabled
684   */
685  @Facebook("is_messenger_bot_get_started_enabled")
686  private Boolean isMessengerBotGetStartedEnabled;
687  /**
688   * Indicates whether the page is a Messenger Platform Bot
689   */
690  @Facebook("is_messenger_platform_bot")
691  private Boolean isMessengerPlatformBot;
692  /**
693   * Indicates whether page is owned
694   */
695  @Facebook("is_owned")
696  private Boolean isOwned;
697  /**
698   * A description of this page.
699   * 
700   */
701  @Facebook
702  private String description;
703  /**
704   * The description of the Page in raw HTML.
705   * 
706   * @since 1.10.0
707   */
708  @Facebook("description_html")
709  private String descriptionHtml;
710  /**
711   * The total number of users who have checked in to the Page.
712   * 
713   */
714  @Facebook
715  private Integer checkins;
716  /**
717   * The phone number (not always normalized for country code) for the Page.
718   * 
719   */
720  @Facebook
721  private String phone;
722  /**
723   * Parking information. Applicable to Businesses and Places
724   */
725  @Facebook
726  private PageParking parking;
727  /**
728   * An admin {@code access_token} for this page.
729   * <p>
730   * The current user must be an administrator of this page; only returned if specifically requested via the fields URL
731   * parameter, e.g. {@code facebookClient.fetchObject("123", Page.class, Parameter.with("fields","access_token"))}
732   * 
733   * @since 1.6.5
734   */
735  @Facebook("access_token")
736  private String accessToken;
737  /**
738   * General information about this page.
739   * 
740   * @since 1.6.10
741   */
742  @Facebook
743  private String about;
744  /**
745   * The number of people that are talking about this page (last seven days).
746   * 
747   * @since 1.6.10
748   */
749  @Facebook("talking_about_count")
750  private Long talkingAboutCount;
751  /**
752   * Whether this page has checkin functionality enabled.
753   */
754  @Facebook("can_checkin")
755  private Boolean canCheckin;
756  /**
757   * Indicates whether the current session user can post on this page.
758   * 
759   * @since 1.6.10
760   */
761  @Facebook("can_post")
762  private Boolean canPost;
763  /**
764   * Indicates whether the page is published and visible to non-admins.
765   * 
766   * @since 1.6.10
767   */
768  @Facebook("is_published")
769  private Boolean isPublished;
770  /**
771   * Indicates whether the Page is unclaimed.
772   * 
773   * @since 1.7.0
774   */
775  @Facebook("is_unclaimed")
776  private Boolean isUnclaimed;
777  /**
778   * Indicates whether the application is subscribed for real time updates from this page
779   */
780  @Facebook("is_webhooks_subscribed")
781  @GraphAPI(since = "2.7")
782  private Boolean isWebhooksSubscribed;
783  /**
784   * Indicates the time when the TOS for running LeadGen Ads on the page was accepted
785   */
786  @Facebook("leadgen_tos_acceptance_time")
787  private Date leadgenTosAcceptanceTime;
788  /**
789   * Indicates the user who accepted the TOS for running LeadGen Ads on the page
790   */
791  @Facebook("leadgen_tos_accepting_user")
792  private User leadgenTosAcceptingUser;
793  /**
794   * The director of the film. Applicable to Films.
795   * 
796   * @since 1.7.0
797   */
798  @Facebook("directed_by")
799  private String directedBy;
800  /**
801   * Subtext about the Page being viewed.
802   */
803  @Facebook("display_subtext")
804  private String displaySubtext;
805  /**
806   * Page estimated message response time displayed to user
807   */
808  @Facebook("displayed_message_response_time")
809  private String displayedMessageResponseTime;
810  /**
811   * General manager of the business. Applicable to Restaurants or Nightlife.
812   * 
813   * @since 1.7.0
814   */
815  @Facebook("general_manager")
816  private String generalManager;
817  /**
818   * The general information for a page.
819   * 
820   * @since 1.6.12
821   */
822  @Facebook("general_info")
823  private String generalInfo;
824  /**
825   * The location of the place this page represents.
826   * 
827   */
828  @Facebook
829  private Location location;
830  /**
831   * The instant workflow merchant id associated with the Page
832   */
833  @Facebook("merchant_id")
834  private String merchantId;
835  /**
836   * Review status of the Page against FB commerce policies, this status decides whether the Page can use component flow
837   */
838  @Facebook("merchant_review_status")
839  private String merchantReviewStatus;
840  @Facebook("messenger_ads_default_icebreakers")
841  private List<String> messengerAdsDefaultIcebreakers = new ArrayList<>();
842  /**
843   * The cover photo.
844   * 
845   * @since 1.6.10
846   */
847  @Facebook
848  private Cover cover;
849  /**
850   * The website URL
851   * 
852   * @since 1.6.15
853   */
854  @Facebook
855  private String website;
856  /**
857   * The name of a Location Page that provides additional location information for that Page beside its name.
858   * 
859   * @since 1.7.0
860   */
861  @Facebook("name_with_location_descriptor")
862  private String nameWithLocationDescriptor;
863  /**
864   * Booking agent of the band. Applicable to Bands.
865   * 
866   * @since 1.7.0
867   */
868  @Facebook("booking_agent")
869  private String bookingAgent;
870  /**
871   * Press contact information of the band. Applicable to Bands.
872   * 
873   * @since 1.7.0
874   */
875  @Facebook("press_contact")
876  private String pressContact;
877  /**
878   * Instagram account connected to page via page settings
879   */
880  @Facebook("connected_instagram_account")
881  private IgUser connectedInstagramAccount;
882  /**
883   * Instagram account linked to page during Instagram business conversion flow
884   */
885  @Facebook("instagram_business_account")
886  private IgUser instagramBusinessAccount;
887  @Facebook("instagram_accounts")
888  private List<InstagramUser> instagramAccounts = new ArrayList<>();
889  /**
890   * Indicates the current Instant Articles review status for this page
891   */
892  @Facebook("instant_articles_review_status")
893  private String instantArticlesReviewStatus;
894  /**
895   * last used time of this object by the current viewer
896   */
897  @Facebook("last_used_time")
898  private Date lastUsedTime;
899  @Facebook("category_list")
900  private List<Category> categoryList = new ArrayList<>();
901  @Facebook
902  private List<String> emails = new ArrayList<>();
903  @Facebook("food_styles")
904  private List<String> foodStyles = new ArrayList<>();
905  @Facebook("screennames")
906  private List<ScreenName> screenNames = new ArrayList<>();
907  /**
908   * This Page's Insights data
909   */
910  @Facebook
911  private Connection<Insight> insights;
912  /**
913   * groups
914   */
915  @Facebook
916  private Connection<Group> groups;
917  /**
918   * Indicates whether a page has transitioned to new page experience or not
919   */
920  @Facebook("has_transitioned_to_new_page_experience")
921  private Boolean hasTransitionedToNewPageExperience;
922  private static final long serialVersionUID = 2L;
923
924
925  public static class ScreenName extends AbstractFacebookType {
926    private static final long serialVersionUID = 1L;
927    @Facebook("service_name")
928    private String serviceName;
929    @Facebook
930    private String value;
931
932    @java.lang.SuppressWarnings("all")
933    public String getServiceName() {
934      return this.serviceName;
935    }
936
937    @java.lang.SuppressWarnings("all")
938    public void setServiceName(final String serviceName) {
939      this.serviceName = serviceName;
940    }
941
942    @java.lang.SuppressWarnings("all")
943    public String getValue() {
944      return this.value;
945    }
946
947    @java.lang.SuppressWarnings("all")
948    public void setValue(final String value) {
949      this.value = value;
950    }
951  }
952
953
954  /**
955   * Represents the <a href="http://developers.facebook.com/docs/reference/api/page">Cover Graph API type</a>.
956   * 
957   * @author <a href="http://restfb.com">Mark Allen</a>
958   * @since 1.6.10
959   */
960  public static class Cover extends AbstractFacebookType {
961    /**
962     * The ID of the photo.
963     * 
964     */
965    @Facebook("cover_id")
966    private String coverId;
967    /**
968     * The URL for the cover photo.
969     * 
970     */
971    @Facebook
972    private String source;
973    /**
974     * The percentage offset from top [0-100].
975     * 
976     */
977    @Facebook("offset_y")
978    private Integer offsetY;
979    private static final long serialVersionUID = 1L;
980
981    /**
982     * The ID of the photo.
983     * 
984     * @return The ID of the photo.
985     */
986    @java.lang.SuppressWarnings("all")
987    public String getCoverId() {
988      return this.coverId;
989    }
990
991    /**
992     * The ID of the photo.
993     * 
994     */
995    @java.lang.SuppressWarnings("all")
996    public void setCoverId(final String coverId) {
997      this.coverId = coverId;
998    }
999
1000    /**
1001     * The URL for the cover photo.
1002     * 
1003     * @return The URL for the cover photo.
1004     */
1005    @java.lang.SuppressWarnings("all")
1006    public String getSource() {
1007      return this.source;
1008    }
1009
1010    /**
1011     * The URL for the cover photo.
1012     * 
1013     */
1014    @java.lang.SuppressWarnings("all")
1015    public void setSource(final String source) {
1016      this.source = source;
1017    }
1018
1019    /**
1020     * The percentage offset from top [0-100].
1021     * 
1022     * @return The percentage offset from top [0-100].
1023     */
1024    @java.lang.SuppressWarnings("all")
1025    public Integer getOffsetY() {
1026      return this.offsetY;
1027    }
1028
1029    /**
1030     * The percentage offset from top [0-100].
1031     * 
1032     */
1033    @java.lang.SuppressWarnings("all")
1034    public void setOffsetY(final Integer offsetY) {
1035      this.offsetY = offsetY;
1036    }
1037  }
1038
1039
1040  public static class MailingAddress extends AbstractFacebookType {
1041    private static final long serialVersionUID = 1L;
1042    /**
1043     * The mailing address ID.
1044     */
1045    @Facebook
1046    private String id;
1047    /**
1048     * Address city name.
1049     */
1050    @Facebook
1051    private String city;
1052    /**
1053     * Page representing the address city.
1054     */
1055    @Facebook("city_page")
1056    private Page cityPage;
1057    /**
1058     * Country of the address.
1059     */
1060    @Facebook
1061    private String country;
1062    /**
1063     * Street address.
1064     */
1065    @Facebook
1066    private String street1;
1067    /**
1068     * Second part of the street address - apt, suite, etc.
1069     */
1070    @Facebook
1071    private String street2;
1072    /**
1073     * Region or state of the address.
1074     */
1075    @Facebook
1076    private String region;
1077    /**
1078     * Postal code of the address.
1079     */
1080    @Facebook("postal_code")
1081    private String postalCode;
1082
1083    /**
1084     * The mailing address ID.
1085     */
1086    @java.lang.SuppressWarnings("all")
1087    public String getId() {
1088      return this.id;
1089    }
1090
1091    /**
1092     * The mailing address ID.
1093     */
1094    @java.lang.SuppressWarnings("all")
1095    public void setId(final String id) {
1096      this.id = id;
1097    }
1098
1099    /**
1100     * Address city name.
1101     */
1102    @java.lang.SuppressWarnings("all")
1103    public String getCity() {
1104      return this.city;
1105    }
1106
1107    /**
1108     * Address city name.
1109     */
1110    @java.lang.SuppressWarnings("all")
1111    public void setCity(final String city) {
1112      this.city = city;
1113    }
1114
1115    /**
1116     * Page representing the address city.
1117     */
1118    @java.lang.SuppressWarnings("all")
1119    public Page getCityPage() {
1120      return this.cityPage;
1121    }
1122
1123    /**
1124     * Page representing the address city.
1125     */
1126    @java.lang.SuppressWarnings("all")
1127    public void setCityPage(final Page cityPage) {
1128      this.cityPage = cityPage;
1129    }
1130
1131    /**
1132     * Country of the address.
1133     */
1134    @java.lang.SuppressWarnings("all")
1135    public String getCountry() {
1136      return this.country;
1137    }
1138
1139    /**
1140     * Country of the address.
1141     */
1142    @java.lang.SuppressWarnings("all")
1143    public void setCountry(final String country) {
1144      this.country = country;
1145    }
1146
1147    /**
1148     * Street address.
1149     */
1150    @java.lang.SuppressWarnings("all")
1151    public String getStreet1() {
1152      return this.street1;
1153    }
1154
1155    /**
1156     * Street address.
1157     */
1158    @java.lang.SuppressWarnings("all")
1159    public void setStreet1(final String street1) {
1160      this.street1 = street1;
1161    }
1162
1163    /**
1164     * Second part of the street address - apt, suite, etc.
1165     */
1166    @java.lang.SuppressWarnings("all")
1167    public String getStreet2() {
1168      return this.street2;
1169    }
1170
1171    /**
1172     * Second part of the street address - apt, suite, etc.
1173     */
1174    @java.lang.SuppressWarnings("all")
1175    public void setStreet2(final String street2) {
1176      this.street2 = street2;
1177    }
1178
1179    /**
1180     * Region or state of the address.
1181     */
1182    @java.lang.SuppressWarnings("all")
1183    public String getRegion() {
1184      return this.region;
1185    }
1186
1187    /**
1188     * Region or state of the address.
1189     */
1190    @java.lang.SuppressWarnings("all")
1191    public void setRegion(final String region) {
1192      this.region = region;
1193    }
1194
1195    /**
1196     * Postal code of the address.
1197     */
1198    @java.lang.SuppressWarnings("all")
1199    public String getPostalCode() {
1200      return this.postalCode;
1201    }
1202
1203    /**
1204     * Postal code of the address.
1205     */
1206    @java.lang.SuppressWarnings("all")
1207    public void setPostalCode(final String postalCode) {
1208      this.postalCode = postalCode;
1209    }
1210  }
1211
1212
1213  /**
1214   * Represents the <a href="https://developers.facebook.com/docs/graph-api/reference/engagement/">Page Engagement Graph
1215   * API type</a>.
1216   * 
1217   * The social sentence and like count used to render the like plugin
1218   * 
1219   * @since 1.10.0
1220   */
1221  public static class Engagement extends AbstractFacebookType {
1222    private static final long serialVersionUID = 1L;
1223    /**
1224     * Number of people who like this.
1225     * 
1226     */
1227    @Facebook
1228    private Long count;
1229    /**
1230     * Abbreviated string representation of count.
1231     * 
1232     */
1233    @Facebook("count_string")
1234    private String countString;
1235    /**
1236     * Abbreviated string representation of count if the viewer likes the object.
1237     * 
1238     */
1239    @Facebook("count_string_with_like")
1240    private String countStringWithLike;
1241    /**
1242     * Abbreviated string representation of count if the viewer does not like the object.
1243     * 
1244     */
1245    @Facebook("count_string_without_like")
1246    private String countStringWithoutLike;
1247    /**
1248     * Text that the like button would currently display.
1249     * 
1250     */
1251    @Facebook("social_sentence")
1252    private String socialSentence;
1253    /**
1254     * Text that the like button would display if the viewer likes the object.
1255     * 
1256     */
1257    @Facebook("social_sentence_with_like")
1258    private String socialSentenceWithLike;
1259    /**
1260     * Text that the like button would display if the viewer does not like the object.
1261     * 
1262     */
1263    @Facebook("social_sentence_without_like")
1264    private String socialSentenceWithoutLike;
1265
1266    /**
1267     * Number of people who like this.
1268     * 
1269     * @return Number of people who like this
1270     */
1271    @java.lang.SuppressWarnings("all")
1272    public Long getCount() {
1273      return this.count;
1274    }
1275
1276    /**
1277     * Number of people who like this.
1278     * 
1279     */
1280    @java.lang.SuppressWarnings("all")
1281    public void setCount(final Long count) {
1282      this.count = count;
1283    }
1284
1285    /**
1286     * Abbreviated string representation of count.
1287     * 
1288     * @return Abbreviated string representation of count
1289     */
1290    @java.lang.SuppressWarnings("all")
1291    public String getCountString() {
1292      return this.countString;
1293    }
1294
1295    /**
1296     * Abbreviated string representation of count.
1297     * 
1298     */
1299    @java.lang.SuppressWarnings("all")
1300    public void setCountString(final String countString) {
1301      this.countString = countString;
1302    }
1303
1304    /**
1305     * Abbreviated string representation of count if the viewer likes the object.
1306     * 
1307     * @return Abbreviated string representation of count if the viewer likes the object
1308     */
1309    @java.lang.SuppressWarnings("all")
1310    public String getCountStringWithLike() {
1311      return this.countStringWithLike;
1312    }
1313
1314    /**
1315     * Abbreviated string representation of count if the viewer likes the object.
1316     * 
1317     */
1318    @java.lang.SuppressWarnings("all")
1319    public void setCountStringWithLike(final String countStringWithLike) {
1320      this.countStringWithLike = countStringWithLike;
1321    }
1322
1323    /**
1324     * Abbreviated string representation of count if the viewer does not like the object.
1325     * 
1326     * @return Abbreviated string representation of count if the viewer does not like the object
1327     */
1328    @java.lang.SuppressWarnings("all")
1329    public String getCountStringWithoutLike() {
1330      return this.countStringWithoutLike;
1331    }
1332
1333    /**
1334     * Abbreviated string representation of count if the viewer does not like the object.
1335     * 
1336     */
1337    @java.lang.SuppressWarnings("all")
1338    public void setCountStringWithoutLike(final String countStringWithoutLike) {
1339      this.countStringWithoutLike = countStringWithoutLike;
1340    }
1341
1342    /**
1343     * Text that the like button would currently display.
1344     * 
1345     * @return Text that the like button would currently display
1346     */
1347    @java.lang.SuppressWarnings("all")
1348    public String getSocialSentence() {
1349      return this.socialSentence;
1350    }
1351
1352    /**
1353     * Text that the like button would currently display.
1354     * 
1355     */
1356    @java.lang.SuppressWarnings("all")
1357    public void setSocialSentence(final String socialSentence) {
1358      this.socialSentence = socialSentence;
1359    }
1360
1361    /**
1362     * Text that the like button would display if the viewer likes the object.
1363     * 
1364     * @return Text that the like button would display if the viewer likes the object
1365     */
1366    @java.lang.SuppressWarnings("all")
1367    public String getSocialSentenceWithLike() {
1368      return this.socialSentenceWithLike;
1369    }
1370
1371    /**
1372     * Text that the like button would display if the viewer likes the object.
1373     * 
1374     */
1375    @java.lang.SuppressWarnings("all")
1376    public void setSocialSentenceWithLike(final String socialSentenceWithLike) {
1377      this.socialSentenceWithLike = socialSentenceWithLike;
1378    }
1379
1380    /**
1381     * Text that the like button would display if the viewer does not like the object.
1382     * 
1383     * @return Text that the like button would display if the viewer does not like the object
1384     */
1385    @java.lang.SuppressWarnings("all")
1386    public String getSocialSentenceWithoutLike() {
1387      return this.socialSentenceWithoutLike;
1388    }
1389
1390    /**
1391     * Text that the like button would display if the viewer does not like the object.
1392     * 
1393     */
1394    @java.lang.SuppressWarnings("all")
1395    public void setSocialSentenceWithoutLike(final String socialSentenceWithoutLike) {
1396      this.socialSentenceWithoutLike = socialSentenceWithoutLike;
1397    }
1398  }
1399
1400
1401  /**
1402   * Represents the <a href="https://developers.facebook.com/docs/graph-api/reference/voip-info/">VOIP Info Graph API
1403   * type</a>.
1404   * 
1405   * @since 1.10.0
1406   */
1407  public static class VoipInfo extends AbstractFacebookType {
1408    private static final long serialVersionUID = 1L;
1409    @Facebook("has_permission")
1410    private Boolean hasPermission;
1411    @Facebook("has_mobile_app")
1412    private Boolean hasMobileApp;
1413    @Facebook("is_pushable")
1414    private Boolean isPushable;
1415    @Facebook("is_callable")
1416    private Boolean isCallable;
1417    @Facebook("is_callable_webrtc")
1418    private Boolean isCallableWebrtc;
1419    @Facebook("reason_code")
1420    private Long reasonCode;
1421    @Facebook("reason_description")
1422    private String reasonDescription;
1423
1424    @java.lang.SuppressWarnings("all")
1425    public Boolean getHasPermission() {
1426      return this.hasPermission;
1427    }
1428
1429    @java.lang.SuppressWarnings("all")
1430    public void setHasPermission(final Boolean hasPermission) {
1431      this.hasPermission = hasPermission;
1432    }
1433
1434    @java.lang.SuppressWarnings("all")
1435    public Boolean getHasMobileApp() {
1436      return this.hasMobileApp;
1437    }
1438
1439    @java.lang.SuppressWarnings("all")
1440    public void setHasMobileApp(final Boolean hasMobileApp) {
1441      this.hasMobileApp = hasMobileApp;
1442    }
1443
1444    @java.lang.SuppressWarnings("all")
1445    public Boolean getIsPushable() {
1446      return this.isPushable;
1447    }
1448
1449    @java.lang.SuppressWarnings("all")
1450    public void setIsPushable(final Boolean isPushable) {
1451      this.isPushable = isPushable;
1452    }
1453
1454    @java.lang.SuppressWarnings("all")
1455    public Boolean getIsCallable() {
1456      return this.isCallable;
1457    }
1458
1459    @java.lang.SuppressWarnings("all")
1460    public void setIsCallable(final Boolean isCallable) {
1461      this.isCallable = isCallable;
1462    }
1463
1464    @java.lang.SuppressWarnings("all")
1465    public Boolean getIsCallableWebrtc() {
1466      return this.isCallableWebrtc;
1467    }
1468
1469    @java.lang.SuppressWarnings("all")
1470    public void setIsCallableWebrtc(final Boolean isCallableWebrtc) {
1471      this.isCallableWebrtc = isCallableWebrtc;
1472    }
1473
1474    @java.lang.SuppressWarnings("all")
1475    public Long getReasonCode() {
1476      return this.reasonCode;
1477    }
1478
1479    @java.lang.SuppressWarnings("all")
1480    public void setReasonCode(final Long reasonCode) {
1481      this.reasonCode = reasonCode;
1482    }
1483
1484    @java.lang.SuppressWarnings("all")
1485    public String getReasonDescription() {
1486      return this.reasonDescription;
1487    }
1488
1489    @java.lang.SuppressWarnings("all")
1490    public void setReasonDescription(final String reasonDescription) {
1491      this.reasonDescription = reasonDescription;
1492    }
1493  }
1494
1495
1496  /**
1497   * Represents the <a href="https://developers.facebook.com/docs/graph-api/reference/page-start-info/">Page Start Info
1498   * Graph API type</a>.
1499   * 
1500   * @since 1.10.0
1501   */
1502  public static class PageStartInfo extends AbstractFacebookType {
1503    private static final long serialVersionUID = 1L;
1504    @Facebook
1505    private String type;
1506    @Facebook
1507    private PageStartDate date;
1508
1509    @java.lang.SuppressWarnings("all")
1510    public String getType() {
1511      return this.type;
1512    }
1513
1514    @java.lang.SuppressWarnings("all")
1515    public void setType(final String type) {
1516      this.type = type;
1517    }
1518
1519    @java.lang.SuppressWarnings("all")
1520    public PageStartDate getDate() {
1521      return this.date;
1522    }
1523
1524    @java.lang.SuppressWarnings("all")
1525    public void setDate(final PageStartDate date) {
1526      this.date = date;
1527    }
1528  }
1529
1530
1531  public static class PageStartDate extends AbstractFacebookType {
1532    private static final long serialVersionUID = 1L;
1533    @Facebook
1534    private Integer year;
1535    @Facebook
1536    private Integer month;
1537    @Facebook
1538    private Integer day;
1539
1540    @java.lang.SuppressWarnings("all")
1541    public Integer getYear() {
1542      return this.year;
1543    }
1544
1545    @java.lang.SuppressWarnings("all")
1546    public void setYear(final Integer year) {
1547      this.year = year;
1548    }
1549
1550    @java.lang.SuppressWarnings("all")
1551    public Integer getMonth() {
1552      return this.month;
1553    }
1554
1555    @java.lang.SuppressWarnings("all")
1556    public void setMonth(final Integer month) {
1557      this.month = month;
1558    }
1559
1560    @java.lang.SuppressWarnings("all")
1561    public Integer getDay() {
1562      return this.day;
1563    }
1564
1565    @java.lang.SuppressWarnings("all")
1566    public void setDay(final Integer day) {
1567      this.day = day;
1568    }
1569  }
1570
1571
1572  /**
1573   * Represents the <a href="https://developers.facebook.com/docs/graph-api/reference/page-payment-options/">Page
1574   * Payment Options Graph API type</a>.
1575   * 
1576   * @since 1.10.0
1577   */
1578  public static class PagePaymentOptions extends AbstractFacebookType {
1579    private static final long serialVersionUID = 1L;
1580    /**
1581     * Whether the business accepts American Express as a payment option.
1582     */
1583    @Facebook
1584    private Boolean amex;
1585    /**
1586     * Whether the business accepts cash only as a payment option.
1587     */
1588    @Facebook("cash_only")
1589    private Boolean cashOnly;
1590    /**
1591     * Whether the business accepts Discover as a payment option.
1592     */
1593    @Facebook
1594    private Boolean discover;
1595    /**
1596     * Whether the business accepts MasterCard as a payment option.
1597     */
1598    @Facebook
1599    private Boolean mastercard;
1600    /**
1601     * Whether the business accepts Visa as a payment option.
1602     */
1603    @Facebook
1604    private Boolean visa;
1605
1606    /**
1607     * Whether the business accepts American Express as a payment option.
1608     */
1609    @java.lang.SuppressWarnings("all")
1610    public Boolean getAmex() {
1611      return this.amex;
1612    }
1613
1614    /**
1615     * Whether the business accepts American Express as a payment option.
1616     */
1617    @java.lang.SuppressWarnings("all")
1618    public void setAmex(final Boolean amex) {
1619      this.amex = amex;
1620    }
1621
1622    /**
1623     * Whether the business accepts cash only as a payment option.
1624     */
1625    @java.lang.SuppressWarnings("all")
1626    public Boolean getCashOnly() {
1627      return this.cashOnly;
1628    }
1629
1630    /**
1631     * Whether the business accepts cash only as a payment option.
1632     */
1633    @java.lang.SuppressWarnings("all")
1634    public void setCashOnly(final Boolean cashOnly) {
1635      this.cashOnly = cashOnly;
1636    }
1637
1638    /**
1639     * Whether the business accepts Discover as a payment option.
1640     */
1641    @java.lang.SuppressWarnings("all")
1642    public Boolean getDiscover() {
1643      return this.discover;
1644    }
1645
1646    /**
1647     * Whether the business accepts Discover as a payment option.
1648     */
1649    @java.lang.SuppressWarnings("all")
1650    public void setDiscover(final Boolean discover) {
1651      this.discover = discover;
1652    }
1653
1654    /**
1655     * Whether the business accepts MasterCard as a payment option.
1656     */
1657    @java.lang.SuppressWarnings("all")
1658    public Boolean getMastercard() {
1659      return this.mastercard;
1660    }
1661
1662    /**
1663     * Whether the business accepts MasterCard as a payment option.
1664     */
1665    @java.lang.SuppressWarnings("all")
1666    public void setMastercard(final Boolean mastercard) {
1667      this.mastercard = mastercard;
1668    }
1669
1670    /**
1671     * Whether the business accepts Visa as a payment option.
1672     */
1673    @java.lang.SuppressWarnings("all")
1674    public Boolean getVisa() {
1675      return this.visa;
1676    }
1677
1678    /**
1679     * Whether the business accepts Visa as a payment option.
1680     */
1681    @java.lang.SuppressWarnings("all")
1682    public void setVisa(final Boolean visa) {
1683      this.visa = visa;
1684    }
1685  }
1686
1687
1688  /**
1689   * Represents the <a href="https://developers.facebook.com/docs/graph-api/reference/page-restaurant-services/">Page
1690   * Restaurant Services Graph API type</a>.
1691   * 
1692   * @since 1.10.0
1693   */
1694  public static class PageRestaurantServices extends AbstractFacebookType {
1695    private static final long serialVersionUID = 1L;
1696    @Facebook
1697    private Boolean catering;
1698    @Facebook
1699    private Boolean delivery;
1700    @Facebook
1701    private Boolean groups;
1702    @Facebook
1703    private Boolean kids;
1704    @Facebook
1705    private Boolean outdoor;
1706    @Facebook
1707    private Boolean reserve;
1708    @Facebook
1709    private Boolean takeout;
1710    @Facebook
1711    private Boolean waiter;
1712    @Facebook
1713    private Boolean walkins;
1714
1715    @java.lang.SuppressWarnings("all")
1716    public Boolean getCatering() {
1717      return this.catering;
1718    }
1719
1720    @java.lang.SuppressWarnings("all")
1721    public void setCatering(final Boolean catering) {
1722      this.catering = catering;
1723    }
1724
1725    @java.lang.SuppressWarnings("all")
1726    public Boolean getDelivery() {
1727      return this.delivery;
1728    }
1729
1730    @java.lang.SuppressWarnings("all")
1731    public void setDelivery(final Boolean delivery) {
1732      this.delivery = delivery;
1733    }
1734
1735    @java.lang.SuppressWarnings("all")
1736    public Boolean getGroups() {
1737      return this.groups;
1738    }
1739
1740    @java.lang.SuppressWarnings("all")
1741    public void setGroups(final Boolean groups) {
1742      this.groups = groups;
1743    }
1744
1745    @java.lang.SuppressWarnings("all")
1746    public Boolean getKids() {
1747      return this.kids;
1748    }
1749
1750    @java.lang.SuppressWarnings("all")
1751    public void setKids(final Boolean kids) {
1752      this.kids = kids;
1753    }
1754
1755    @java.lang.SuppressWarnings("all")
1756    public Boolean getOutdoor() {
1757      return this.outdoor;
1758    }
1759
1760    @java.lang.SuppressWarnings("all")
1761    public void setOutdoor(final Boolean outdoor) {
1762      this.outdoor = outdoor;
1763    }
1764
1765    @java.lang.SuppressWarnings("all")
1766    public Boolean getReserve() {
1767      return this.reserve;
1768    }
1769
1770    @java.lang.SuppressWarnings("all")
1771    public void setReserve(final Boolean reserve) {
1772      this.reserve = reserve;
1773    }
1774
1775    @java.lang.SuppressWarnings("all")
1776    public Boolean getTakeout() {
1777      return this.takeout;
1778    }
1779
1780    @java.lang.SuppressWarnings("all")
1781    public void setTakeout(final Boolean takeout) {
1782      this.takeout = takeout;
1783    }
1784
1785    @java.lang.SuppressWarnings("all")
1786    public Boolean getWaiter() {
1787      return this.waiter;
1788    }
1789
1790    @java.lang.SuppressWarnings("all")
1791    public void setWaiter(final Boolean waiter) {
1792      this.waiter = waiter;
1793    }
1794
1795    @java.lang.SuppressWarnings("all")
1796    public Boolean getWalkins() {
1797      return this.walkins;
1798    }
1799
1800    @java.lang.SuppressWarnings("all")
1801    public void setWalkins(final Boolean walkins) {
1802      this.walkins = walkins;
1803    }
1804  }
1805
1806
1807  /**
1808   * Represents the <a href="https://developers.facebook.com/docs/graph-api/reference/page-restaurant-specialties/">Page
1809   * Restaurant Specialties Graph API type</a>.
1810   * 
1811   * @since 1.10.0
1812   */
1813  public static class PageRestaurantSpecialties extends AbstractFacebookType {
1814    private static final long serialVersionUID = 1L;
1815    @Facebook
1816    private Boolean breakfast;
1817    @Facebook
1818    private Boolean coffee;
1819    @Facebook
1820    private Boolean dinner;
1821    @Facebook
1822    private Boolean drinks;
1823    @Facebook
1824    private Boolean lunch;
1825
1826    @java.lang.SuppressWarnings("all")
1827    public Boolean getBreakfast() {
1828      return this.breakfast;
1829    }
1830
1831    @java.lang.SuppressWarnings("all")
1832    public void setBreakfast(final Boolean breakfast) {
1833      this.breakfast = breakfast;
1834    }
1835
1836    @java.lang.SuppressWarnings("all")
1837    public Boolean getCoffee() {
1838      return this.coffee;
1839    }
1840
1841    @java.lang.SuppressWarnings("all")
1842    public void setCoffee(final Boolean coffee) {
1843      this.coffee = coffee;
1844    }
1845
1846    @java.lang.SuppressWarnings("all")
1847    public Boolean getDinner() {
1848      return this.dinner;
1849    }
1850
1851    @java.lang.SuppressWarnings("all")
1852    public void setDinner(final Boolean dinner) {
1853      this.dinner = dinner;
1854    }
1855
1856    @java.lang.SuppressWarnings("all")
1857    public Boolean getDrinks() {
1858      return this.drinks;
1859    }
1860
1861    @java.lang.SuppressWarnings("all")
1862    public void setDrinks(final Boolean drinks) {
1863      this.drinks = drinks;
1864    }
1865
1866    @java.lang.SuppressWarnings("all")
1867    public Boolean getLunch() {
1868      return this.lunch;
1869    }
1870
1871    @java.lang.SuppressWarnings("all")
1872    public void setLunch(final Boolean lunch) {
1873      this.lunch = lunch;
1874    }
1875  }
1876
1877
1878  /**
1879   * Parking options for a Page. Useful for Facebook Pages that have a business with parking.
1880   */
1881  public static class PageParking extends AbstractFacebookType {
1882    private static final long serialVersionUID = 1L;
1883    /**
1884     * Whether lot parking is available
1885     */
1886    @Facebook
1887    private Boolean lot;
1888    /**
1889     * Whether street parking is available
1890     */
1891    @Facebook
1892    private Boolean street;
1893    /**
1894     * Whether valet parking is available
1895     */
1896    @Facebook
1897    private Boolean valet;
1898
1899    /**
1900     * Whether lot parking is available
1901     */
1902    @java.lang.SuppressWarnings("all")
1903    public Boolean getLot() {
1904      return this.lot;
1905    }
1906
1907    /**
1908     * Whether lot parking is available
1909     */
1910    @java.lang.SuppressWarnings("all")
1911    public void setLot(final Boolean lot) {
1912      this.lot = lot;
1913    }
1914
1915    /**
1916     * Whether street parking is available
1917     */
1918    @java.lang.SuppressWarnings("all")
1919    public Boolean getStreet() {
1920      return this.street;
1921    }
1922
1923    /**
1924     * Whether street parking is available
1925     */
1926    @java.lang.SuppressWarnings("all")
1927    public void setStreet(final Boolean street) {
1928      this.street = street;
1929    }
1930
1931    /**
1932     * Whether valet parking is available
1933     */
1934    @java.lang.SuppressWarnings("all")
1935    public Boolean getValet() {
1936      return this.valet;
1937    }
1938
1939    /**
1940     * Whether valet parking is available
1941     */
1942    @java.lang.SuppressWarnings("all")
1943    public void setValet(final Boolean valet) {
1944      this.valet = valet;
1945    }
1946  }
1947
1948
1949  /**
1950   * Represents the <a href="https://developers.facebook.com/docs/graph-api/reference/page-settings/">Page Settings
1951   * Graph API type</a>.
1952   * 
1953   * @since 1.10.0
1954   */
1955  public static class Settings extends AbstractFacebookType {
1956    private static final long serialVersionUID = 1L;
1957    @Facebook
1958    private String setting;
1959    @Facebook
1960    private String value;
1961
1962    /**
1963     * convert the value field in a boolean and return it.
1964     * 
1965     * Every value that's not the String "true" (case is ignored) is <code>false</code>!
1966     * 
1967     * @return the value field as boolean.
1968     */
1969    public boolean getValueAsBoolean() {
1970      return Boolean.parseBoolean(value);
1971    }
1972
1973    /**
1974     * Takes the value and converts it into a json object if possible.
1975     * 
1976     * May throw a JsonException
1977     * 
1978     * @return
1979     */
1980    public JsonObject getValueAsJsonObject() {
1981      return Json.parse(value).asObject();
1982    }
1983
1984    @java.lang.SuppressWarnings("all")
1985    public String getSetting() {
1986      return this.setting;
1987    }
1988
1989    @java.lang.SuppressWarnings("all")
1990    public void setSetting(final String setting) {
1991      this.setting = setting;
1992    }
1993
1994    @java.lang.SuppressWarnings("all")
1995    public String getValue() {
1996      return this.value;
1997    }
1998
1999    @java.lang.SuppressWarnings("all")
2000    public void setValue(final String value) {
2001      this.value = value;
2002    }
2003  }
2004
2005  /**
2006   * External accounts. Applicable to Pages representing people
2007   *
2008   * @return the list of screen names
2009   */
2010  public List<ScreenName> getScreenNames() {
2011    return unmodifiableList(screenNames);
2012  }
2013
2014  public boolean addScreenName(ScreenName screenName) {
2015    return screenNames.add(screenName);
2016  }
2017
2018  public boolean removeScreenName(ScreenName screenName) {
2019    return screenNames.remove(screenName);
2020  }
2021
2022  /**
2023   * the sub category list
2024   * 
2025   * @return the sub category list
2026   * @since 1.6.15
2027   */
2028  public List<Category> getCategoryList() {
2029    return unmodifiableList(categoryList);
2030  }
2031
2032  public boolean addCategory(Category category) {
2033    return categoryList.add(category);
2034  }
2035
2036  public boolean removeCategory(Category category) {
2037    return categoryList.remove(category);
2038  }
2039
2040  /**
2041   * The emails listed in the About section of a Page.
2042   * 
2043   * @return The emails listed in the About section of a Page
2044   * @since 1.10.0
2045   */
2046  public List<String> getEmails() {
2047    return unmodifiableList(emails);
2048  }
2049
2050  public boolean addEmail(String email) {
2051    return emails.add(email);
2052  }
2053
2054  public boolean removeEmail(String email) {
2055    return emails.remove(email);
2056  }
2057
2058  /**
2059   * The restaurant's food styles. Applicable to Restaurants
2060   * 
2061   * @return The restaurant's food styles
2062   * @since 1.10.0
2063   */
2064  public List<String> getFoodStyles() {
2065    return unmodifiableList(foodStyles);
2066  }
2067
2068  public boolean addFoodStyle(String foodStyle) {
2069    return foodStyles.add(foodStyle);
2070  }
2071
2072  public boolean removeFoodStyle(String foodStyle) {
2073    return foodStyles.remove(foodStyle);
2074  }
2075
2076  /**
2077   * Notes of this page
2078   *
2079   * @return Notes of this page
2080   */
2081  @GraphAPI(since = "2.6")
2082  public List<PageAdminNote> getAdminNotes() {
2083    return unmodifiableList(adminNotes);
2084  }
2085
2086  public boolean addAdminNote(PageAdminNote adminNote) {
2087    return adminNotes.add(adminNote);
2088  }
2089
2090  public boolean removeAdminNote(PageAdminNote adminNote) {
2091    return adminNotes.remove(adminNote);
2092  }
2093
2094  /**
2095   * Page labels of this page
2096   *
2097   * @return labels of this page
2098   */
2099  @GraphAPI(since = "2.6")
2100  public List<PageLabel> getLabels() {
2101    return unmodifiableList(labels);
2102  }
2103
2104  public boolean addLabel(PageLabel label) {
2105    return labels.add(label);
2106  }
2107
2108  public boolean removeLabels(PageLabel label) {
2109    return labels.remove(label);
2110  }
2111
2112  /**
2113   * Linked Instagram accounts for this Page
2114   */
2115  public List<InstagramUser> getInstagramAccounts() {
2116    return unmodifiableList(instagramAccounts);
2117  }
2118
2119  public boolean addInstagramAccount(InstagramUser igUser) {
2120    return instagramAccounts.add(igUser);
2121  }
2122
2123  public boolean removeInstagramAccount(InstagramUser igUser) {
2124    return instagramAccounts.remove(igUser);
2125  }
2126
2127  public boolean addMessengerAdsDefaultIcebreaker(String icebreaker) {
2128    return messengerAdsDefaultIcebreakers.add(icebreaker);
2129  }
2130
2131  public boolean removeMessengerAdsDefaultIcebreaker(String icebreaker) {
2132    return messengerAdsDefaultIcebreakers.remove(icebreaker);
2133  }
2134
2135  public List<String> getMessengerAdsDefaultIcebreakers() {
2136    return unmodifiableList(messengerAdsDefaultIcebreakers);
2137  }
2138
2139  @JsonMappingCompleted
2140  protected void convertLabels(JsonMapper jsonMapper) {
2141    JsonObject rawLabels = null;
2142    if (this.rawLabels != null) {
2143      JsonValue jsonValue = Json.parse(this.rawLabels);
2144      if (jsonValue.isObject()) {
2145        rawLabels = jsonValue.asObject();
2146      }
2147    }
2148    if (rawLabels != null && rawLabels.isObject()) {
2149      String innerLabelsString = rawLabels.get("data").toString();
2150      labels = jsonMapper.toJavaList(innerLabelsString, PageLabel.class);
2151    }
2152  }
2153
2154  @JsonMappingCompleted
2155  protected void fillProfilePicture(JsonMapper jsonMapper) {
2156    picture = convertPicture(jsonMapper, rawPicture);
2157  }
2158
2159  @JsonMappingCompleted
2160  protected void graphApi26LikesFallback() {
2161    if (getFanCount() != null && getLikesCount() == null) {
2162      likesCount = fanCount;
2163    }
2164    if (getFanCount() == null && getLikesCount() != null) {
2165      fanCount = likesCount;
2166    }
2167  }
2168
2169  @JsonMappingCompleted
2170  protected void convertHours() {
2171    if (rawHours != null && !rawHours.isEmpty()) {
2172      Hours hoursObj = new Hours();
2173      for (JsonObject entry : rawHours) {
2174        hoursObj.addHour(entry.getString("key", ""), entry.getString("value", ""));
2175      }
2176      hours = hoursObj;
2177    }
2178    if (rawHoursMap != null && !rawHoursMap.isEmpty()) {
2179      Hours hoursObj = new Hours();
2180      for (Map.Entry<String, String> entry : rawHoursMap.entrySet()) {
2181        hoursObj.addHour(entry.getKey(), entry.getValue());
2182      }
2183      hours = hoursObj;
2184    }
2185  }
2186
2187  /**
2188   * The pages's profile picture, if provided.
2189   * 
2190   * To force Facebook to fill the <code>picture</code> field you have to fetch the page with the
2191   * <code>fields=picture</code> parameter, otherwise the picture is <code>null</code>.
2192   * 
2193   * @return the page's profile picture as ProfilePictureSource object
2194   */
2195  @Override
2196  @java.lang.SuppressWarnings("all")
2197  public ProfilePictureSource getPicture() {
2198    return this.picture;
2199  }
2200
2201  /**
2202   * The pages's profile picture, if provided.
2203   * 
2204   * To force Facebook to fill the <code>picture</code> field you have to fetch the page with the
2205   * <code>fields=picture</code> parameter, otherwise the picture is <code>null</code>.
2206   * 
2207   */
2208  @java.lang.SuppressWarnings("all")
2209  public void setPicture(final ProfilePictureSource picture) {
2210    this.picture = picture;
2211  }
2212
2213  /**
2214   * Affiliation of this person. Applicable to Pages representing people
2215   * 
2216   * @since 1.10.0
2217   * @return affiliation of this person
2218   */
2219  @java.lang.SuppressWarnings("all")
2220  public String getAffiliation() {
2221    return this.affiliation;
2222  }
2223
2224  /**
2225   * Affiliation of this person. Applicable to Pages representing people
2226   * 
2227   * @since 1.10.0
2228   */
2229  @java.lang.SuppressWarnings("all")
2230  public void setAffiliation(final String affiliation) {
2231    this.affiliation = affiliation;
2232  }
2233
2234  /**
2235   * App ID for app-owned Pages and app Pages.
2236   *
2237   * @return App ID for app-owned Pages and app Pages
2238   */
2239  @java.lang.SuppressWarnings("all")
2240  public String getAppId() {
2241    return this.appId;
2242  }
2243
2244  /**
2245   * App ID for app-owned Pages and app Pages.
2246   */
2247  @java.lang.SuppressWarnings("all")
2248  public void setAppId(final String appId) {
2249    this.appId = appId;
2250  }
2251
2252  /**
2253   * Artists the band likes. Applicable to Bands
2254   * 
2255   * @since 1.10.0
2256   * @return artists the band likes
2257   */
2258  @java.lang.SuppressWarnings("all")
2259  public String getArtistsWeLike() {
2260    return this.artistsWeLike;
2261  }
2262
2263  /**
2264   * Artists the band likes. Applicable to Bands
2265   * 
2266   * @since 1.10.0
2267   */
2268  @java.lang.SuppressWarnings("all")
2269  public void setArtistsWeLike(final String artistsWeLike) {
2270    this.artistsWeLike = artistsWeLike;
2271  }
2272
2273  /**
2274   * relevance score of an asset.
2275   *
2276   * @return relevance score of an asset
2277   */
2278  @java.lang.SuppressWarnings("all")
2279  public Double getAssetScore() {
2280    return this.assetScore;
2281  }
2282
2283  /**
2284   * relevance score of an asset.
2285   */
2286  @java.lang.SuppressWarnings("all")
2287  public void setAssetScore(final Double assetScore) {
2288    this.assetScore = assetScore;
2289  }
2290
2291  /**
2292   * Dress code of the business. Applicable to Restaurants or Nightlife. Can be one of Casual, Dressy or Unspecified
2293   * 
2294   * @since 1.10.0
2295   * @return dress code of the business
2296   */
2297  @java.lang.SuppressWarnings("all")
2298  public String getAttire() {
2299    return this.attire;
2300  }
2301
2302  /**
2303   * Dress code of the business. Applicable to Restaurants or Nightlife. Can be one of Casual, Dressy or Unspecified
2304   * 
2305   * @since 1.10.0
2306   */
2307  @java.lang.SuppressWarnings("all")
2308  public void setAttire(final String attire) {
2309    this.attire = attire;
2310  }
2311
2312  /**
2313   * The awards information of the film. Applicable to Films
2314   * 
2315   * @since 1.10.0
2316   * @return the awards information of the film
2317   */
2318  @java.lang.SuppressWarnings("all")
2319  public String getAwards() {
2320    return this.awards;
2321  }
2322
2323  /**
2324   * The awards information of the film. Applicable to Films
2325   * 
2326   * @since 1.10.0
2327   */
2328  @java.lang.SuppressWarnings("all")
2329  public void setAwards(final String awards) {
2330    this.awards = awards;
2331  }
2332
2333  /**
2334   * Band interests. Applicable to Bands
2335   * 
2336   * @since 1.10.0
2337   * @return band interests
2338   */
2339  @java.lang.SuppressWarnings("all")
2340  public String getBandInterests() {
2341    return this.bandInterests;
2342  }
2343
2344  /**
2345   * Band interests. Applicable to Bands
2346   * 
2347   * @since 1.10.0
2348   */
2349  @java.lang.SuppressWarnings("all")
2350  public void setBandInterests(final String bandInterests) {
2351    this.bandInterests = bandInterests;
2352  }
2353
2354  /**
2355   * Members of the band. Applicable to Bands
2356   * 
2357   * @since 1.10.0
2358   * @return members of the band
2359   */
2360  @java.lang.SuppressWarnings("all")
2361  public String getBandMembers() {
2362    return this.bandMembers;
2363  }
2364
2365  /**
2366   * Members of the band. Applicable to Bands
2367   * 
2368   * @since 1.10.0
2369   */
2370  @java.lang.SuppressWarnings("all")
2371  public void setBandMembers(final String bandMembers) {
2372    this.bandMembers = bandMembers;
2373  }
2374
2375  /**
2376   * The best available Page on Facebook for the concept represented by this Page. The best available Page takes into
2377   * account authenticity and the number of likes
2378   * 
2379   * @since 1.10.0
2380   * @return The best available Page on Facebook for the concept represented by this Page
2381   */
2382  @java.lang.SuppressWarnings("all")
2383  public Page getBestPage() {
2384    return this.bestPage;
2385  }
2386
2387  /**
2388   * The best available Page on Facebook for the concept represented by this Page. The best available Page takes into
2389   * account authenticity and the number of likes
2390   * 
2391   * @since 1.10.0
2392   */
2393  @java.lang.SuppressWarnings("all")
2394  public void setBestPage(final Page bestPage) {
2395    this.bestPage = bestPage;
2396  }
2397
2398  /**
2399   * The mailing or contact address for this page. This field will be blank if the contact address is the same as the
2400   * physical address
2401   * 
2402   * @since 1.10.0
2403   * @return The mailing or contact address for this page
2404   */
2405  @java.lang.SuppressWarnings("all")
2406  public MailingAddress getContactAddress() {
2407    return this.contactAddress;
2408  }
2409
2410  /**
2411   * The mailing or contact address for this page. This field will be blank if the contact address is the same as the
2412   * physical address
2413   * 
2414   * @since 1.10.0
2415   */
2416  @java.lang.SuppressWarnings("all")
2417  public void setContactAddress(final MailingAddress contactAddress) {
2418    this.contactAddress = contactAddress;
2419  }
2420
2421  /**
2422   * If this is a Page in a Global Pages hierarchy, the number of people who are being directed to this Page.
2423   *
2424   * @return If this is a Page in a Global Pages hierarchy, the number of people who are being directed to this Page.
2425   */
2426  @java.lang.SuppressWarnings("all")
2427  public Integer getCountryPageLikes() {
2428    return this.countryPageLikes;
2429  }
2430
2431  /**
2432   * If this is a Page in a Global Pages hierarchy, the number of people who are being directed to this Page.
2433   */
2434  @java.lang.SuppressWarnings("all")
2435  public void setCountryPageLikes(final Integer countryPageLikes) {
2436    this.countryPageLikes = countryPageLikes;
2437  }
2438
2439  /**
2440   * The Page's category. e.g. Product/Service, Computers/Technology
2441   *
2442   * @return The Page's category. e.g. Product/Service, Computers/Technology
2443   */
2444  @java.lang.SuppressWarnings("all")
2445  public String getCategory() {
2446    return this.category;
2447  }
2448
2449  /**
2450   * The Page's category. e.g. Product/Service, Computers/Technology
2451   */
2452  @java.lang.SuppressWarnings("all")
2453  public void setCategory(final String category) {
2454    this.category = category;
2455  }
2456
2457  /**
2458   * Biography of the band. Applicable to Bands
2459   * 
2460   * @since 1.10.0
2461   * @return Biography of the band
2462   */
2463  @java.lang.SuppressWarnings("all")
2464  public String getBio() {
2465    return this.bio;
2466  }
2467
2468  /**
2469   * Biography of the band. Applicable to Bands
2470   * 
2471   * @since 1.10.0
2472   */
2473  @java.lang.SuppressWarnings("all")
2474  public void setBio(final String bio) {
2475    this.bio = bio;
2476  }
2477
2478  /**
2479   * Birthday of this person. Applicable to Pages representing people
2480   * 
2481   * @since 1.10.0
2482   * @return birthday of this person
2483   */
2484  @java.lang.SuppressWarnings("all")
2485  public String getBirthday() {
2486    return this.birthday;
2487  }
2488
2489  /**
2490   * Birthday of this person. Applicable to Pages representing people
2491   * 
2492   * @since 1.10.0
2493   */
2494  @java.lang.SuppressWarnings("all")
2495  public void setBirthday(final String birthday) {
2496    this.birthday = birthday;
2497  }
2498
2499  /**
2500   * Year vehicle was built. Applicable to Vehicles
2501   * 
2502   * @since 1.10.0
2503   * @return Year vehicle was built
2504   */
2505  @java.lang.SuppressWarnings("all")
2506  public String getBuilt() {
2507    return this.built;
2508  }
2509
2510  /**
2511   * Year vehicle was built. Applicable to Vehicles
2512   * 
2513   * @since 1.10.0
2514   */
2515  @java.lang.SuppressWarnings("all")
2516  public void setBuilt(final String built) {
2517    this.built = built;
2518  }
2519
2520  /**
2521   * The Business associated with this Page.
2522   */
2523  @java.lang.SuppressWarnings("all")
2524  public Business getBusiness() {
2525    return this.business;
2526  }
2527
2528  /**
2529   * The Business associated with this Page.
2530   */
2531  @java.lang.SuppressWarnings("all")
2532  public void setBusiness(final Business business) {
2533    this.business = business;
2534  }
2535
2536  /**
2537   * Culinary team of the business. Applicable to Restaurants or Nightlife
2538   * 
2539   * @since 1.10.0
2540   * @return culinary team of the business
2541   */
2542  @java.lang.SuppressWarnings("all")
2543  public String getCulinaryTeam() {
2544    return this.culinaryTeam;
2545  }
2546
2547  /**
2548   * Culinary team of the business. Applicable to Restaurants or Nightlife
2549   * 
2550   * @since 1.10.0
2551   */
2552  @java.lang.SuppressWarnings("all")
2553  public void setCulinaryTeam(final String culinaryTeam) {
2554    this.culinaryTeam = culinaryTeam;
2555  }
2556
2557  /**
2558   * Current location of the Page.
2559   * 
2560   * @since 1.10.0
2561   * @return current location of the Page
2562   */
2563  @java.lang.SuppressWarnings("all")
2564  public String getCurrentLocation() {
2565    return this.currentLocation;
2566  }
2567
2568  /**
2569   * Current location of the Page.
2570   * 
2571   * @since 1.10.0
2572   */
2573  @java.lang.SuppressWarnings("all")
2574  public void setCurrentLocation(final String currentLocation) {
2575    this.currentLocation = currentLocation;
2576  }
2577
2578  /**
2579   * Features of the vehicle. Applicable to Vehicles
2580   * 
2581   * @since 1.10.0
2582   * @return Features of the vehicle
2583   */
2584  @java.lang.SuppressWarnings("all")
2585  public String getFeatures() {
2586    return this.features;
2587  }
2588
2589  /**
2590   * Features of the vehicle. Applicable to Vehicles
2591   * 
2592   * @since 1.10.0
2593   */
2594  @java.lang.SuppressWarnings("all")
2595  public void setFeatures(final String features) {
2596    this.features = features;
2597  }
2598
2599  /**
2600   * Number of page followers
2601   *
2602   * @return Number of page followers
2603   */
2604  @java.lang.SuppressWarnings("all")
2605  public Long getFollowersCount() {
2606    return this.followersCount;
2607  }
2608
2609  /**
2610   * Number of page followers
2611   */
2612  @java.lang.SuppressWarnings("all")
2613  public void setFollowersCount(final Long followersCount) {
2614    this.followersCount = followersCount;
2615  }
2616
2617  /**
2618   * The name of the Page with country codes appended for Global Brand Pages. Only visible to the Page admin
2619   * 
2620   * @since 1.10.0
2621   * @return The name of the Page with country codes appended for Global Brand Pages
2622   */
2623  @java.lang.SuppressWarnings("all")
2624  public String getGlobalBrandPageName() {
2625    return this.globalBrandPageName;
2626  }
2627
2628  /**
2629   * The name of the Page with country codes appended for Global Brand Pages. Only visible to the Page admin
2630   * 
2631   * @since 1.10.0
2632   */
2633  @java.lang.SuppressWarnings("all")
2634  public void setGlobalBrandPageName(final String globalBrandPageName) {
2635    this.globalBrandPageName = globalBrandPageName;
2636  }
2637
2638  /**
2639   * This brand's global Root ID.
2640   *
2641   * @return This brand's global Root ID
2642   */
2643  @java.lang.SuppressWarnings("all")
2644  public String getGlobalBrandRootId() {
2645    return this.globalBrandRootId;
2646  }
2647
2648  /**
2649   * This brand's global Root ID.
2650   */
2651  @java.lang.SuppressWarnings("all")
2652  public void setGlobalBrandRootId(final String globalBrandRootId) {
2653    this.globalBrandRootId = globalBrandRootId;
2654  }
2655
2656  /**
2657   * This brand's global (parent) Page.
2658   * 
2659   * @since 1.10.0
2660   * @return this brand's global (parent) Page
2661   */
2662  @java.lang.SuppressWarnings("all")
2663  public Page getGlobalBrandParentPage() {
2664    return this.globalBrandParentPage;
2665  }
2666
2667  /**
2668   * This brand's global (parent) Page.
2669   * 
2670   * @since 1.10.0
2671   */
2672  @java.lang.SuppressWarnings("all")
2673  public void setGlobalBrandParentPage(final Page globalBrandParentPage) {
2674    this.globalBrandParentPage = globalBrandParentPage;
2675  }
2676
2677  /**
2678   * Indicates whether this Page has added the app making the query in a Page tab.
2679   * 
2680   * @since 1.10.0
2681   * @return Indicates whether this Page has added the app making the query in a Page tab
2682   */
2683  @java.lang.SuppressWarnings("all")
2684  public Boolean getHasAddedApp() {
2685    return this.hasAddedApp;
2686  }
2687
2688  /**
2689   * Indicates whether this Page has added the app making the query in a Page tab.
2690   * 
2691   * @since 1.10.0
2692   */
2693  @java.lang.SuppressWarnings("all")
2694  public void setHasAddedApp(final Boolean hasAddedApp) {
2695    this.hasAddedApp = hasAddedApp;
2696  }
2697
2698  /**
2699   * has whatsapp number
2700   *
2701   * @return has whatsapp number
2702   */
2703  @java.lang.SuppressWarnings("all")
2704  public Boolean getHasWhatsappNumber() {
2705    return this.hasWhatsappNumber;
2706  }
2707
2708  /**
2709   * has whatsapp number
2710   */
2711  @java.lang.SuppressWarnings("all")
2712  public void setHasWhatsappNumber(final Boolean hasWhatsappNumber) {
2713    this.hasWhatsappNumber = hasWhatsappNumber;
2714  }
2715
2716  /**
2717   * Indicates whether WhatsApp number connected to this page is a WhatsApp business number
2718   *
2719   * @return Whatsapp business number
2720   */
2721  @java.lang.SuppressWarnings("all")
2722  public Boolean getHasWhatsappBusinessNumber() {
2723    return this.hasWhatsappBusinessNumber;
2724  }
2725
2726  /**
2727   * Indicates whether WhatsApp number connected to this page is a WhatsApp business number
2728   */
2729  @java.lang.SuppressWarnings("all")
2730  public void setHasWhatsappBusinessNumber(final Boolean hasWhatsappBusinessNumber) {
2731    this.hasWhatsappBusinessNumber = hasWhatsappBusinessNumber;
2732  }
2733
2734  /**
2735   * Hometown of the band. Applicable to Bands
2736   * 
2737   * @since 1.10.0
2738   * @return Hometown of the band
2739   */
2740  @java.lang.SuppressWarnings("all")
2741  public String getHometown() {
2742    return this.hometown;
2743  }
2744
2745  /**
2746   * Hometown of the band. Applicable to Bands
2747   * 
2748   * @since 1.10.0
2749   */
2750  @java.lang.SuppressWarnings("all")
2751  public void setHometown(final String hometown) {
2752    this.hometown = hometown;
2753  }
2754
2755  /**
2756   * Opening hours
2757   *
2758   * @since 1.10.1
2759   */
2760  @java.lang.SuppressWarnings("all")
2761  public Hours getHours() {
2762    return this.hours;
2763  }
2764
2765  /**
2766   * Opening hours
2767   *
2768   * @since 1.10.1
2769   */
2770  @java.lang.SuppressWarnings("all")
2771  public void setHours(final Hours hours) {
2772    this.hours = hours;
2773  }
2774
2775  /**
2776   * Legal information about the Page publishers.
2777   * 
2778   * @since 1.10.0
2779   * @return Legal information about the Page publishers
2780   */
2781  @java.lang.SuppressWarnings("all")
2782  public String getImpressum() {
2783    return this.impressum;
2784  }
2785
2786  /**
2787   * Legal information about the Page publishers.
2788   * 
2789   * @since 1.10.0
2790   */
2791  @java.lang.SuppressWarnings("all")
2792  public void setImpressum(final String impressum) {
2793    this.impressum = impressum;
2794  }
2795
2796  /**
2797   * Influences on the band. Applicable to Bands
2798   * 
2799   * @since 1.10.0
2800   * @return Influences on the band
2801   */
2802  @java.lang.SuppressWarnings("all")
2803  public String getInfluences() {
2804    return this.influences;
2805  }
2806
2807  /**
2808   * Influences on the band. Applicable to Bands
2809   * 
2810   * @since 1.10.0
2811   */
2812  @java.lang.SuppressWarnings("all")
2813  public void setInfluences(final String influences) {
2814    this.influences = influences;
2815  }
2816
2817  /**
2818   * Whether the business corresponding to this Page is permanently closed.
2819   * 
2820   * @since 1.10.0
2821   * @return Whether the business corresponding to this Page is permanently closed
2822   */
2823  @java.lang.SuppressWarnings("all")
2824  public Boolean getIsPermanentlyClosed() {
2825    return this.isPermanentlyClosed;
2826  }
2827
2828  /**
2829   * Whether the business corresponding to this Page is permanently closed.
2830   * 
2831   * @since 1.10.0
2832   */
2833  @java.lang.SuppressWarnings("all")
2834  public void setIsPermanentlyClosed(final Boolean isPermanentlyClosed) {
2835    this.isPermanentlyClosed = isPermanentlyClosed;
2836  }
2837
2838  /**
2839   * owner business of this object
2840   *
2841   * @return owner business of this object
2842   */
2843  @java.lang.SuppressWarnings("all")
2844  public Business getOwnerBusiness() {
2845    return this.ownerBusiness;
2846  }
2847
2848  /**
2849   * owner business of this object
2850   */
2851  @java.lang.SuppressWarnings("all")
2852  public void setOwnerBusiness(final Business ownerBusiness) {
2853    this.ownerBusiness = ownerBusiness;
2854  }
2855
2856  /**
2857   * Overall page rating based on rating survey from users on a scale of 1-5. This value is normalized and is not
2858   * guaranteed to be a strict average of user ratings. If there are 0 or a small number of ratings, this field will not
2859   * be returned.
2860   */
2861  @java.lang.SuppressWarnings("all")
2862  public Double getOverallStarRating() {
2863    return this.overallStarRating;
2864  }
2865
2866  /**
2867   * Overall page rating based on rating survey from users on a scale of 1-5. This value is normalized and is not
2868   * guaranteed to be a strict average of user ratings. If there are 0 or a small number of ratings, this field will not
2869   * be returned.
2870   */
2871  @java.lang.SuppressWarnings("all")
2872  public void setOverallStarRating(final Double overallStarRating) {
2873    this.overallStarRating = overallStarRating;
2874  }
2875
2876  /**
2877   * Number of ratings for the page (limited to ratings that are publicly accessible
2878   */
2879  @java.lang.SuppressWarnings("all")
2880  public Integer getRatingCount() {
2881    return this.ratingCount;
2882  }
2883
2884  /**
2885   * Number of ratings for the page (limited to ratings that are publicly accessible
2886   */
2887  @java.lang.SuppressWarnings("all")
2888  public void setRatingCount(final Integer ratingCount) {
2889    this.ratingCount = ratingCount;
2890  }
2891
2892  /**
2893   * Messenger page scope id associated with page and a user using account_linking_token
2894   *
2895   * @return Messenger page scope id associated with page and a user using account_linking_token
2896   */
2897  @java.lang.SuppressWarnings("all")
2898  public String getRecipient() {
2899    return this.recipient;
2900  }
2901
2902  /**
2903   * Messenger page scope id associated with page and a user using account_linking_token
2904   */
2905  @java.lang.SuppressWarnings("all")
2906  public void setRecipient(final String recipient) {
2907    this.recipient = recipient;
2908  }
2909
2910  /**
2911   * Personal information. Applicable to Pages representing People
2912   * 
2913   * @since 1.10.0
2914   * @return Personal information
2915   */
2916  @java.lang.SuppressWarnings("all")
2917  public String getPersonalInfo() {
2918    return this.personalInfo;
2919  }
2920
2921  /**
2922   * Personal information. Applicable to Pages representing People
2923   * 
2924   * @since 1.10.0
2925   */
2926  @java.lang.SuppressWarnings("all")
2927  public void setPersonalInfo(final String personalInfo) {
2928    this.personalInfo = personalInfo;
2929  }
2930
2931  /**
2932   * Payment options accepted by the business. Applicable to Restaurants or Nightlife
2933   * 
2934   * @since 1.10.0
2935   * @return Payment options accepted by the business
2936   */
2937  @java.lang.SuppressWarnings("all")
2938  public PagePaymentOptions getPaymentOptions() {
2939    return this.paymentOptions;
2940  }
2941
2942  /**
2943   * Payment options accepted by the business. Applicable to Restaurants or Nightlife
2944   * 
2945   * @since 1.10.0
2946   */
2947  @java.lang.SuppressWarnings("all")
2948  public void setPaymentOptions(final PagePaymentOptions paymentOptions) {
2949    this.paymentOptions = paymentOptions;
2950  }
2951
2952  /**
2953   * Personal interests. Applicable to Pages representing People
2954   * 
2955   * @since 1.10.0
2956   * @return Personal interests
2957   */
2958  @java.lang.SuppressWarnings("all")
2959  public String getPersonalInterests() {
2960    return this.personalInterests;
2961  }
2962
2963  /**
2964   * Personal interests. Applicable to Pages representing People
2965   * 
2966   * @since 1.10.0
2967   */
2968  @java.lang.SuppressWarnings("all")
2969  public void setPersonalInterests(final String personalInterests) {
2970    this.personalInterests = personalInterests;
2971  }
2972
2973  /**
2974   * Pharmacy safety information. Applicable to Pharmaceutical companies
2975   * 
2976   * @since 1.10.0
2977   * @return Pharmacy safety information
2978   */
2979  @java.lang.SuppressWarnings("all")
2980  public String getPharmaSafetyInfo() {
2981    return this.pharmaSafetyInfo;
2982  }
2983
2984  /**
2985   * Pharmacy safety information. Applicable to Pharmaceutical companies
2986   * 
2987   * @since 1.10.0
2988   */
2989  @java.lang.SuppressWarnings("all")
2990  public void setPharmaSafetyInfo(final String pharmaSafetyInfo) {
2991    this.pharmaSafetyInfo = pharmaSafetyInfo;
2992  }
2993
2994  /**
2995   * For places, the category of the place.
2996   *
2997   * @return For places, the category of the place
2998   */
2999  @java.lang.SuppressWarnings("all")
3000  public String getPlaceType() {
3001    return this.placeType;
3002  }
3003
3004  /**
3005   * For places, the category of the place.
3006   */
3007  @java.lang.SuppressWarnings("all")
3008  public void setPlaceType(final String placeType) {
3009    this.placeType = placeType;
3010  }
3011
3012  /**
3013   * The plot outline of the film. Applicable to Films
3014   * 
3015   * @since 1.10.0
3016   * @return The plot outline of the film
3017   */
3018  @java.lang.SuppressWarnings("all")
3019  public String getPlotOutline() {
3020    return this.plotOutline;
3021  }
3022
3023  /**
3024   * The plot outline of the film. Applicable to Films
3025   * 
3026   * @since 1.10.0
3027   */
3028  @java.lang.SuppressWarnings("all")
3029  public void setPlotOutline(final String plotOutline) {
3030    this.plotOutline = plotOutline;
3031  }
3032
3033  /**
3034   * Price range of the business. Applicable to Restaurants or Nightlife. Can be one of $ (0-10), $$ (10-30), $$$
3035   * (30-50), $$$$ (50+) or Unspecified
3036   * 
3037   * @since 1.10.0
3038   * @return Price range of the business
3039   */
3040  @java.lang.SuppressWarnings("all")
3041  public String getPriceRange() {
3042    return this.priceRange;
3043  }
3044
3045  /**
3046   * Price range of the business. Applicable to Restaurants or Nightlife. Can be one of $ (0-10), $$ (10-30), $$$
3047   * (30-50), $$$$ (50+) or Unspecified
3048   * 
3049   * @since 1.10.0
3050   */
3051  @java.lang.SuppressWarnings("all")
3052  public void setPriceRange(final String priceRange) {
3053    this.priceRange = priceRange;
3054  }
3055
3056  /**
3057   * The productor of the film. Applicable to Films
3058   * 
3059   * @since 1.10.0
3060   * @return The productor of the film
3061   */
3062  @java.lang.SuppressWarnings("all")
3063  public String getProducedBy() {
3064    return this.producedBy;
3065  }
3066
3067  /**
3068   * The productor of the film. Applicable to Films
3069   * 
3070   * @since 1.10.0
3071   */
3072  @java.lang.SuppressWarnings("all")
3073  public void setProducedBy(final String producedBy) {
3074    this.producedBy = producedBy;
3075  }
3076
3077  /**
3078   * Reason why a post isn't eligible for boosting. Only visible to Page Admins
3079   * 
3080   * @since 1.10.0
3081   * @return Reason why a post isn't eligible for boosting
3082   */
3083  @java.lang.SuppressWarnings("all")
3084  public Boolean getPromotionEligible() {
3085    return this.promotionEligible;
3086  }
3087
3088  /**
3089   * Reason why a post isn't eligible for boosting. Only visible to Page Admins
3090   * 
3091   * @since 1.10.0
3092   */
3093  @java.lang.SuppressWarnings("all")
3094  public void setPromotionEligible(final Boolean promotionEligible) {
3095    this.promotionEligible = promotionEligible;
3096  }
3097
3098  /**
3099   * Reason, for which boosted posts are not eligible. Only visible to a page admin
3100   * 
3101   * @since 1.10.0
3102   * @return Reason, for which boosted posts are not eligible
3103   */
3104  @java.lang.SuppressWarnings("all")
3105  public String getPromotionIneligibleReason() {
3106    return this.promotionIneligibleReason;
3107  }
3108
3109  /**
3110   * Reason, for which boosted posts are not eligible. Only visible to a page admin
3111   * 
3112   * @since 1.10.0
3113   */
3114  @java.lang.SuppressWarnings("all")
3115  public void setPromotionIneligibleReason(final String promotionIneligibleReason) {
3116    this.promotionIneligibleReason = promotionIneligibleReason;
3117  }
3118
3119  /**
3120   * Public transit to the business. Applicable to Restaurants or Nightlife
3121   * 
3122   * @since 1.10.0
3123   * @return Public transit to the business
3124   */
3125  @java.lang.SuppressWarnings("all")
3126  public String getPublicTransit() {
3127    return this.publicTransit;
3128  }
3129
3130  /**
3131   * Public transit to the business. Applicable to Restaurants or Nightlife
3132   * 
3133   * @since 1.10.0
3134   */
3135  @java.lang.SuppressWarnings("all")
3136  public void setPublicTransit(final String publicTransit) {
3137    this.publicTransit = publicTransit;
3138  }
3139
3140  /**
3141   * Record label of the band. Applicable to Bands
3142   * 
3143   * @since 1.10.0
3144   * @return Record label of the band
3145   */
3146  @java.lang.SuppressWarnings("all")
3147  public String getRecordLabel() {
3148    return this.recordLabel;
3149  }
3150
3151  /**
3152   * Record label of the band. Applicable to Bands
3153   * 
3154   * @since 1.10.0
3155   */
3156  @java.lang.SuppressWarnings("all")
3157  public void setRecordLabel(final String recordLabel) {
3158    this.recordLabel = recordLabel;
3159  }
3160
3161  /**
3162   * The film's release date. Applicable to Films
3163   * 
3164   * @since 1.10.0
3165   * @return The film's release date
3166   */
3167  @java.lang.SuppressWarnings("all")
3168  public String getReleaseDate() {
3169    return this.releaseDate;
3170  }
3171
3172  /**
3173   * The film's release date. Applicable to Films
3174   * 
3175   * @since 1.10.0
3176   */
3177  @java.lang.SuppressWarnings("all")
3178  public void setReleaseDate(final String releaseDate) {
3179    this.releaseDate = releaseDate;
3180  }
3181
3182  /**
3183   * Services the restaurant provides. Applicable to Restaurants
3184   * 
3185   * @since 1.10.0
3186   * @return Services the restaurant provides
3187   */
3188  @java.lang.SuppressWarnings("all")
3189  public PageRestaurantServices getRestaurantServices() {
3190    return this.restaurantServices;
3191  }
3192
3193  /**
3194   * Services the restaurant provides. Applicable to Restaurants
3195   * 
3196   * @since 1.10.0
3197   */
3198  @java.lang.SuppressWarnings("all")
3199  public void setRestaurantServices(final PageRestaurantServices restaurantServices) {
3200    this.restaurantServices = restaurantServices;
3201  }
3202
3203  /**
3204   * The restaurant's specialties. Applicable to Restaurants
3205   * 
3206   * @since 1.10.0
3207   * @return The restaurant's specialties
3208   */
3209  @java.lang.SuppressWarnings("all")
3210  public PageRestaurantSpecialties getRestaurantSpecialties() {
3211    return this.restaurantSpecialties;
3212  }
3213
3214  /**
3215   * The restaurant's specialties. Applicable to Restaurants
3216   * 
3217   * @since 1.10.0
3218   */
3219  @java.lang.SuppressWarnings("all")
3220  public void setRestaurantSpecialties(final PageRestaurantSpecialties restaurantSpecialties) {
3221    this.restaurantSpecialties = restaurantSpecialties;
3222  }
3223
3224  /**
3225   * Unique store code for this location Page
3226   */
3227  @java.lang.SuppressWarnings("all")
3228  public String getStoreCode() {
3229    return this.storeCode;
3230  }
3231
3232  /**
3233   * Unique store code for this location Page
3234   */
3235  @java.lang.SuppressWarnings("all")
3236  public void setStoreCode(final String storeCode) {
3237    this.storeCode = storeCode;
3238  }
3239
3240  /**
3241   * Location Page's store location descriptor
3242   */
3243  @java.lang.SuppressWarnings("all")
3244  public String getStoreLocationDescriptor() {
3245    return this.storeLocationDescriptor;
3246  }
3247
3248  /**
3249   * Location Page's store location descriptor
3250   */
3251  @java.lang.SuppressWarnings("all")
3252  public void setStoreLocationDescriptor(final String storeLocationDescriptor) {
3253    this.storeLocationDescriptor = storeLocationDescriptor;
3254  }
3255
3256  @java.lang.SuppressWarnings("all")
3257  public Date getUserAccessExpireTime() {
3258    return this.userAccessExpireTime;
3259  }
3260
3261  @java.lang.SuppressWarnings("all")
3262  public void setUserAccessExpireTime(final Date userAccessExpireTime) {
3263    this.userAccessExpireTime = userAccessExpireTime;
3264  }
3265
3266  /**
3267   * The genre of the film. Applicable to Films
3268   * 
3269   * @since 1.10.0
3270   * @return The genre of the film
3271   */
3272  @java.lang.SuppressWarnings("all")
3273  public String getGenre() {
3274    return this.genre;
3275  }
3276
3277  /**
3278   * The genre of the film. Applicable to Films
3279   * 
3280   * @since 1.10.0
3281   */
3282  @java.lang.SuppressWarnings("all")
3283  public void setGenre(final String genre) {
3284    this.genre = genre;
3285  }
3286
3287  /**
3288   * MPG of the vehicle. Applicable to Vehicles
3289   * 
3290   * @since 1.10.0
3291   * @return MPG of the vehicle
3292   */
3293  @java.lang.SuppressWarnings("all")
3294  public String getMpg() {
3295    return this.mpg;
3296  }
3297
3298  /**
3299   * MPG of the vehicle. Applicable to Vehicles
3300   * 
3301   * @since 1.10.0
3302   */
3303  @java.lang.SuppressWarnings("all")
3304  public void setMpg(final String mpg) {
3305    this.mpg = mpg;
3306  }
3307
3308  /**
3309   * The TV network for the TV show. Applicable to TV Shows
3310   * 
3311   * @since 1.10.0
3312   * @return The TV network for the TV show
3313   */
3314  @java.lang.SuppressWarnings("all")
3315  public String getNetwork() {
3316    return this.network;
3317  }
3318
3319  /**
3320   * The TV network for the TV show. Applicable to TV Shows
3321   * 
3322   * @since 1.10.0
3323   */
3324  @java.lang.SuppressWarnings("all")
3325  public void setNetwork(final String network) {
3326    this.network = network;
3327  }
3328
3329  /**
3330   * The number of people who have liked the Page, since the last login. Only visible to a page admin
3331   * 
3332   * @since 1.10.0
3333   * @return The number of people who have liked the Page, since the last login
3334   */
3335  @java.lang.SuppressWarnings("all")
3336  public Long getNewLikeCount() {
3337    return this.newLikeCount;
3338  }
3339
3340  /**
3341   * The number of people who have liked the Page, since the last login. Only visible to a page admin
3342   * 
3343   * @since 1.10.0
3344   */
3345  @java.lang.SuppressWarnings("all")
3346  public void setNewLikeCount(final Long newLikeCount) {
3347    this.newLikeCount = newLikeCount;
3348  }
3349
3350  /**
3351   * Offer eligibility status. Only visible to a page admin
3352   * 
3353   * @since 1.10.0
3354   * @return Offer eligibility status
3355   */
3356  @java.lang.SuppressWarnings("all")
3357  public Boolean getOfferEligible() {
3358    return this.offerEligible;
3359  }
3360
3361  /**
3362   * Offer eligibility status. Only visible to a page admin
3363   * 
3364   * @since 1.10.0
3365   */
3366  @java.lang.SuppressWarnings("all")
3367  public void setOfferEligible(final Boolean offerEligible) {
3368    this.offerEligible = offerEligible;
3369  }
3370
3371  /**
3372   * The air schedule of the TV show. Applicable to TV Shows
3373   * 
3374   * @since 1.10.0
3375   * @return The air schedule of the TV show
3376   */
3377  @java.lang.SuppressWarnings("all")
3378  public String getSchedule() {
3379    return this.schedule;
3380  }
3381
3382  /**
3383   * The air schedule of the TV show. Applicable to TV Shows
3384   * 
3385   * @since 1.10.0
3386   */
3387  @java.lang.SuppressWarnings("all")
3388  public void setSchedule(final String schedule) {
3389    this.schedule = schedule;
3390  }
3391
3392  /**
3393   * The screenwriter of the film. Applicable to Films
3394   * 
3395   * @since 1.10.0
3396   * @return The screenwriter of the film
3397   */
3398  @java.lang.SuppressWarnings("all")
3399  public String getScreenplayBy() {
3400    return this.screenplayBy;
3401  }
3402
3403  /**
3404   * The screenwriter of the film. Applicable to Films
3405   * 
3406   * @since 1.10.0
3407   */
3408  @java.lang.SuppressWarnings("all")
3409  public void setScreenplayBy(final String screenplayBy) {
3410    this.screenplayBy = screenplayBy;
3411  }
3412
3413  /**
3414   * The season information of the TV Show. Applicable to TV Shows
3415   * 
3416   * @since 1.10.0
3417   * @return The season information of the TV Show
3418   */
3419  @java.lang.SuppressWarnings("all")
3420  public String getSeason() {
3421    return this.season;
3422  }
3423
3424  /**
3425   * The season information of the TV Show. Applicable to TV Shows
3426   * 
3427   * @since 1.10.0
3428   */
3429  @java.lang.SuppressWarnings("all")
3430  public void setSeason(final String season) {
3431    this.season = season;
3432  }
3433
3434  /**
3435   * The page address, if any, in a simple single line format.
3436   *
3437   * @return The page address, if any, in a simple single line format
3438   */
3439  @java.lang.SuppressWarnings("all")
3440  public String getSingleLineAddress() {
3441    return this.singleLineAddress;
3442  }
3443
3444  /**
3445   * The page address, if any, in a simple single line format.
3446   */
3447  @java.lang.SuppressWarnings("all")
3448  public void setSingleLineAddress(final String singleLineAddress) {
3449    this.singleLineAddress = singleLineAddress;
3450  }
3451
3452  /**
3453   * The cast of the film. Applicable to Films
3454   * 
3455   * @since 1.10.0
3456   * @return The cast of the film
3457   */
3458  @java.lang.SuppressWarnings("all")
3459  public String getStarring() {
3460    return this.starring;
3461  }
3462
3463  /**
3464   * The cast of the film. Applicable to Films
3465   * 
3466   * @since 1.10.0
3467   */
3468  @java.lang.SuppressWarnings("all")
3469  public void setStarring(final String starring) {
3470    this.starring = starring;
3471  }
3472
3473  /**
3474   * Information about when the entity represented by the Page was started
3475   * 
3476   * @since 1.10.0
3477   * @return Information about when the entity represented by the Page was started
3478   */
3479  @java.lang.SuppressWarnings("all")
3480  public PageStartInfo getStartInfo() {
3481    return this.startInfo;
3482  }
3483
3484  /**
3485   * Information about when the entity represented by the Page was started
3486   * 
3487   * @since 1.10.0
3488   */
3489  @java.lang.SuppressWarnings("all")
3490  public void setStartInfo(final PageStartInfo startInfo) {
3491    this.startInfo = startInfo;
3492  }
3493
3494  /**
3495   * Unique store number for this location Page.
3496   * 
3497   * @since 1.10.0
3498   * @return Unique store number for this location Page
3499   */
3500  @java.lang.SuppressWarnings("all")
3501  public String getStoreNumber() {
3502    return this.storeNumber;
3503  }
3504
3505  /**
3506   * Unique store number for this location Page.
3507   * 
3508   * @since 1.10.0
3509   */
3510  @java.lang.SuppressWarnings("all")
3511  public void setStoreNumber(final String storeNumber) {
3512    this.storeNumber = storeNumber;
3513  }
3514
3515  /**
3516   * The studio for the film production. Applicable to Films
3517   * 
3518   * @since 1.10.0
3519   * @return The studio for the film production
3520   */
3521  @java.lang.SuppressWarnings("all")
3522  public String getStudio() {
3523    return this.studio;
3524  }
3525
3526  /**
3527   * The studio for the film production. Applicable to Films
3528   * 
3529   * @since 1.10.0
3530   */
3531  @java.lang.SuppressWarnings("all")
3532  public void setStudio(final String studio) {
3533    this.studio = studio;
3534  }
3535
3536  /**
3537   * Indicates how the business corresponding to this Page is operating differently than usual. Possible values:
3538   *
3539   * <ul>
3540   * <li>differently_open</li>
3541   * <li>temporarily_closed</li>
3542   * <li>operating_as_usual</li>
3543   * <li>no_data</li>
3544   * </ul>
3545   */
3546  @java.lang.SuppressWarnings("all")
3547  public String getTemporaryStatus() {
3548    return this.temporaryStatus;
3549  }
3550
3551  /**
3552   * Indicates how the business corresponding to this Page is operating differently than usual. Possible values:
3553   *
3554   * <ul>
3555   * <li>differently_open</li>
3556   * <li>temporarily_closed</li>
3557   * <li>operating_as_usual</li>
3558   * <li>no_data</li>
3559   * </ul>
3560   */
3561  @java.lang.SuppressWarnings("all")
3562  public void setTemporaryStatus(final String temporaryStatus) {
3563    this.temporaryStatus = temporaryStatus;
3564  }
3565
3566  /**
3567   * The social sentence and like count information for this Page. This is the same info used for the like button
3568   * 
3569   * @since 1.10.0
3570   * @return The social sentence and like count information for this Page
3571   */
3572  @java.lang.SuppressWarnings("all")
3573  public Engagement getEngagement() {
3574    return this.engagement;
3575  }
3576
3577  /**
3578   * The social sentence and like count information for this Page. This is the same info used for the like button
3579   * 
3580   * @since 1.10.0
3581   */
3582  @java.lang.SuppressWarnings("all")
3583  public void setEngagement(final Engagement engagement) {
3584    this.engagement = engagement;
3585  }
3586
3587  /**
3588   * Unread message count for the Page. Only visible to a page admin
3589   * 
3590   * @since 1.10.0
3591   * @return Unread message count for the Page
3592   */
3593  @java.lang.SuppressWarnings("all")
3594  public Long getUnreadMessageCount() {
3595    return this.unreadMessageCount;
3596  }
3597
3598  /**
3599   * Unread message count for the Page. Only visible to a page admin
3600   * 
3601   * @since 1.10.0
3602   */
3603  @java.lang.SuppressWarnings("all")
3604  public void setUnreadMessageCount(final Long unreadMessageCount) {
3605    this.unreadMessageCount = unreadMessageCount;
3606  }
3607
3608  /**
3609   * Number of unread notifications. Only visible to a page admin
3610   * 
3611   * @since 1.10.0
3612   * @return Number of unread notifications
3613   */
3614  @java.lang.SuppressWarnings("all")
3615  public Long getUnreadNotifCount() {
3616    return this.unreadNotifCount;
3617  }
3618
3619  /**
3620   * Number of unread notifications. Only visible to a page admin
3621   * 
3622   * @since 1.10.0
3623   */
3624  @java.lang.SuppressWarnings("all")
3625  public void setUnreadNotifCount(final Long unreadNotifCount) {
3626    this.unreadNotifCount = unreadNotifCount;
3627  }
3628
3629  /**
3630   * Unseen message count for the Page. Only visible to a page admin
3631   * 
3632   * @since 1.10.0
3633   * @return Unseen message count for the Page
3634   */
3635  @java.lang.SuppressWarnings("all")
3636  public Long getUnseenMessageCount() {
3637    return this.unseenMessageCount;
3638  }
3639
3640  /**
3641   * Unseen message count for the Page. Only visible to a page admin
3642   * 
3643   * @since 1.10.0
3644   */
3645  @java.lang.SuppressWarnings("all")
3646  public void setUnseenMessageCount(final Long unseenMessageCount) {
3647    this.unseenMessageCount = unseenMessageCount;
3648  }
3649
3650  /**
3651   * Members of this org. Applicable to Pages representing Team Orgs
3652   * 
3653   * @since 1.10.0
3654   * @return Members of this org
3655   */
3656  @java.lang.SuppressWarnings("all")
3657  public String getMembers() {
3658    return this.members;
3659  }
3660
3661  /**
3662   * Members of this org. Applicable to Pages representing Team Orgs
3663   * 
3664   * @since 1.10.0
3665   */
3666  @java.lang.SuppressWarnings("all")
3667  public void setMembers(final String members) {
3668    this.members = members;
3669  }
3670
3671  /**
3672   * The number of visits to this Page's location. If the Page setting Show map, check-ins and star ratings on the Page
3673   * (under Page Settings &gt; Page Info &gt; Address) is disabled, then this value will also be disabled
3674   * 
3675   * @since 1.10.0
3676   * @return The number of visits to this Page's location
3677   */
3678  @java.lang.SuppressWarnings("all")
3679  public Long getWereHereCount() {
3680    return this.wereHereCount;
3681  }
3682
3683  /**
3684   * The number of visits to this Page's location. If the Page setting Show map, check-ins and star ratings on the Page
3685   * (under Page Settings &gt; Page Info &gt; Address) is disabled, then this value will also be disabled
3686   * 
3687   * @since 1.10.0
3688   */
3689  @java.lang.SuppressWarnings("all")
3690  public void setWereHereCount(final Long wereHereCount) {
3691    this.wereHereCount = wereHereCount;
3692  }
3693
3694  /**
3695   * Video Featured by the Page. Only visible to the Page admin
3696   * 
3697   * @since 1.10.0
3698   * @return Video Featured by the Page
3699   */
3700  @java.lang.SuppressWarnings("all")
3701  public Video getFeaturedVideo() {
3702    return this.featuredVideo;
3703  }
3704
3705  /**
3706   * Video Featured by the Page. Only visible to the Page admin
3707   * 
3708   * @since 1.10.0
3709   */
3710  @java.lang.SuppressWarnings("all")
3711  public void setFeaturedVideo(final Video featuredVideo) {
3712    this.featuredVideo = featuredVideo;
3713  }
3714
3715  /**
3716   * Showing whether this Page is verified and in what color e.g. blue verified, gray verified or not verified
3717   *
3718   * @return Showing whether this Page is verified and in what color
3719   */
3720  @java.lang.SuppressWarnings("all")
3721  public String getVerificationStatus() {
3722    return this.verificationStatus;
3723  }
3724
3725  /**
3726   * Showing whether this Page is verified and in what color e.g. blue verified, gray verified or not verified
3727   */
3728  @java.lang.SuppressWarnings("all")
3729  public void setVerificationStatus(final String verificationStatus) {
3730    this.verificationStatus = verificationStatus;
3731  }
3732
3733  /**
3734   * Voip info
3735   * 
3736   * @since 1.10.0
3737   * @return Voip info
3738   */
3739  @java.lang.SuppressWarnings("all")
3740  public VoipInfo getVoipInfo() {
3741    return this.voipInfo;
3742  }
3743
3744  /**
3745   * Voip info
3746   * 
3747   * @since 1.10.0
3748   */
3749  @java.lang.SuppressWarnings("all")
3750  public void setVoipInfo(final VoipInfo voipInfo) {
3751    this.voipInfo = voipInfo;
3752  }
3753
3754  /**
3755   * The writer of the TV show. Applicable to TV Shows
3756   * 
3757   * @since 1.10.0
3758   * @return The writer of the TV show
3759   */
3760  @java.lang.SuppressWarnings("all")
3761  public String getWrittenBy() {
3762    return this.writtenBy;
3763  }
3764
3765  /**
3766   * The writer of the TV show. Applicable to TV Shows
3767   * 
3768   * @since 1.10.0
3769   */
3770  @java.lang.SuppressWarnings("all")
3771  public void setWrittenBy(final String writtenBy) {
3772    this.writtenBy = writtenBy;
3773  }
3774
3775  /**
3776   * whatsapp number
3777   *
3778   * @return whatsapp number
3779   */
3780  @java.lang.SuppressWarnings("all")
3781  public String getWhatsappNumber() {
3782    return this.whatsappNumber;
3783  }
3784
3785  /**
3786   * whatsapp number
3787   */
3788  @java.lang.SuppressWarnings("all")
3789  public void setWhatsappNumber(final String whatsappNumber) {
3790    this.whatsappNumber = whatsappNumber;
3791  }
3792
3793  /**
3794   * The page's link.
3795   * 
3796   * @return The page's link.
3797   */
3798  @java.lang.SuppressWarnings("all")
3799  public String getLink() {
3800    return this.link;
3801  }
3802
3803  /**
3804   * The page's link.
3805   * 
3806   */
3807  @java.lang.SuppressWarnings("all")
3808  public void setLink(final String link) {
3809    this.link = link;
3810  }
3811
3812  /**
3813   * The page's username. The alias of the Page. For example, for www.facebook.com/platform the username is 'platform'
3814   * 
3815   * @return The page's username.
3816   */
3817  @java.lang.SuppressWarnings("all")
3818  public String getUsername() {
3819    return this.username;
3820  }
3821
3822  /**
3823   * The page's username. The alias of the Page. For example, for www.facebook.com/platform the username is 'platform'
3824   * 
3825   */
3826  @java.lang.SuppressWarnings("all")
3827  public void setUsername(final String username) {
3828    this.username = username;
3829  }
3830
3831  /**
3832   * When the page was founded.
3833   * 
3834   * @return When the page was founded.
3835   */
3836  @java.lang.SuppressWarnings("all")
3837  public String getFounded() {
3838    return this.founded;
3839  }
3840
3841  /**
3842   * When the page was founded.
3843   * 
3844   */
3845  @java.lang.SuppressWarnings("all")
3846  public void setFounded(final String founded) {
3847    this.founded = founded;
3848  }
3849
3850  /**
3851   * Overview of the page's company.
3852   * 
3853   * @return Overview of the page's company.
3854   */
3855  @java.lang.SuppressWarnings("all")
3856  public String getCompanyOverview() {
3857    return this.companyOverview;
3858  }
3859
3860  /**
3861   * Overview of the page's company.
3862   * 
3863   */
3864  @java.lang.SuppressWarnings("all")
3865  public void setCompanyOverview(final String companyOverview) {
3866    this.companyOverview = companyOverview;
3867  }
3868
3869  /**
3870   * The company mission. Applicable to Companies
3871   * 
3872   * @return The page's mission.
3873   */
3874  @java.lang.SuppressWarnings("all")
3875  public String getMission() {
3876    return this.mission;
3877  }
3878
3879  /**
3880   * The company mission. Applicable to Companies
3881   * 
3882   */
3883  @java.lang.SuppressWarnings("all")
3884  public void setMission(final String mission) {
3885    this.mission = mission;
3886  }
3887
3888  /**
3889   * The page's products.
3890   * 
3891   * @return The page's products.
3892   */
3893  @java.lang.SuppressWarnings("all")
3894  public String getProducts() {
3895    return this.products;
3896  }
3897
3898  /**
3899   * The page's products.
3900   * 
3901   */
3902  @java.lang.SuppressWarnings("all")
3903  public void setProducts(final String products) {
3904    this.products = products;
3905  }
3906
3907  @java.lang.SuppressWarnings("all")
3908  public String getPageToken() {
3909    return this.pageToken;
3910  }
3911
3912  @java.lang.SuppressWarnings("all")
3913  public void setPageToken(final String pageToken) {
3914    this.pageToken = pageToken;
3915  }
3916
3917  /**
3918   * Parent Page of this Page.
3919   *
3920   * If the Page is part of a Global Root Structure and you have permission to the Global Root, the Global Root Parent
3921   * Page is returned. If you do not have Global Root permission, the Market Page for your current region is returned as
3922   * the Parent Page.
3923   *
3924   * If your Page is not part of a Global Root Structure, the Parent Page is returned.
3925   *
3926   * @return parent page of this page
3927   */
3928  @java.lang.SuppressWarnings("all")
3929  public Page getParentPage() {
3930    return this.parentPage;
3931  }
3932
3933  /**
3934   * Parent Page of this Page.
3935   *
3936   * If the Page is part of a Global Root Structure and you have permission to the Global Root, the Global Root Parent
3937   * Page is returned. If you do not have Global Root permission, the Market Page for your current region is returned as
3938   * the Parent Page.
3939   *
3940   * If your Page is not part of a Global Root Structure, the Parent Page is returned.
3941   */
3942  @java.lang.SuppressWarnings("all")
3943  public void setParentPage(final Page parentPage) {
3944    this.parentPage = parentPage;
3945  }
3946
3947  /**
3948   * Privacy url in page info section
3949   *
3950   * @return Privacy url in page info section
3951   */
3952  @java.lang.SuppressWarnings("all")
3953  public String getPrivacyInfoUrl() {
3954    return this.privacyInfoUrl;
3955  }
3956
3957  /**
3958   * Privacy url in page info section
3959   */
3960  @java.lang.SuppressWarnings("all")
3961  public void setPrivacyInfoUrl(final String privacyInfoUrl) {
3962    this.privacyInfoUrl = privacyInfoUrl;
3963  }
3964
3965  /**
3966   * Indicates whether a user has accepted the TOS for running LeadGen Ads on the Page.
3967   * 
3968   * @return Indicates whether a user has accepted the TOS for running LeadGen Ads on the Page
3969   */
3970  @java.lang.SuppressWarnings("all")
3971  public Boolean getLeadgenTosAccepted() {
3972    return this.leadgenTosAccepted;
3973  }
3974
3975  /**
3976   * Indicates whether a user has accepted the TOS for running LeadGen Ads on the Page.
3977   * 
3978   */
3979  @java.lang.SuppressWarnings("all")
3980  public void setLeadgenTosAccepted(final Boolean leadgenTosAccepted) {
3981    this.leadgenTosAccepted = leadgenTosAccepted;
3982  }
3983
3984  /**
3985   * The number of likes the page has.
3986   *
3987   * Since Graph 2.6 you should use {@link Page#fanCount} instead
3988   *
3989   * @return The number of likes the page has
3990   * @since 1.6.5
3991   */
3992  @GraphAPI(until = "2.5")
3993  @java.lang.SuppressWarnings("all")
3994  public Long getLikesCount() {
3995    return this.likesCount;
3996  }
3997
3998  /**
3999   * The number of likes the page has.
4000   *
4001   * Since Graph 2.6 you should use {@link Page#fanCount} instead
4002   *
4003   * @since 1.6.5
4004   */
4005  @java.lang.SuppressWarnings("all")
4006  public void setLikesCount(final Long likesCount) {
4007    this.likesCount = likesCount;
4008  }
4009
4010  /**
4011   * The Pages that this Page Likes.
4012   *
4013   * @return The Pages that this Page Likes.
4014   */
4015  @GraphAPI(since = "2.6")
4016  @java.lang.SuppressWarnings("all")
4017  public Likes getLikes() {
4018    return this.likes;
4019  }
4020
4021  /**
4022   * The Pages that this Page Likes.
4023   */
4024  @java.lang.SuppressWarnings("all")
4025  public void setLikes(final Likes likes) {
4026    this.likes = likes;
4027  }
4028
4029  /**
4030   * The number of likes the page has.
4031   *
4032   * @return The number of likes the page has
4033   */
4034  @GraphAPI(since = "2.6")
4035  @java.lang.SuppressWarnings("all")
4036  public Long getFanCount() {
4037    return this.fanCount;
4038  }
4039
4040  /**
4041   * The number of likes the page has.
4042   */
4043  @java.lang.SuppressWarnings("all")
4044  public void setFanCount(final Long fanCount) {
4045    this.fanCount = fanCount;
4046  }
4047
4048  /**
4049   * Indicates whether this location is always open.
4050   *
4051   * @return Indicates whether this location is always open
4052   */
4053  @java.lang.SuppressWarnings("all")
4054  public Boolean getIsAlwaysOpen() {
4055    return this.isAlwaysOpen;
4056  }
4057
4058  /**
4059   * Indicates whether this location is always open.
4060   */
4061  @java.lang.SuppressWarnings("all")
4062  public void setIsAlwaysOpen(final Boolean isAlwaysOpen) {
4063    this.isAlwaysOpen = isAlwaysOpen;
4064  }
4065
4066  /**
4067   * Indicates whether location is part of a chain
4068   *
4069   * @return Indicates whether location is part of a chain
4070   */
4071  @java.lang.SuppressWarnings("all")
4072  public Boolean getIsChain() {
4073    return this.isChain;
4074  }
4075
4076  /**
4077   * Indicates whether location is part of a chain
4078   */
4079  @java.lang.SuppressWarnings("all")
4080  public void setIsChain(final Boolean isChain) {
4081    this.isChain = isChain;
4082  }
4083
4084  /**
4085   * Is this a community page?
4086   * 
4087   * @return Is this a community page?
4088   */
4089  @java.lang.SuppressWarnings("all")
4090  public Boolean getIsCommunityPage() {
4091    return this.isCommunityPage;
4092  }
4093
4094  /**
4095   * Is this a community page?
4096   * 
4097   */
4098  @java.lang.SuppressWarnings("all")
4099  public void setIsCommunityPage(final Boolean isCommunityPage) {
4100    this.isCommunityPage = isCommunityPage;
4101  }
4102
4103  /**
4104   * Indicates whether the page is eligible for the branded content tool
4105   *
4106   * @return is eligible for the branded content tool
4107   */
4108  @java.lang.SuppressWarnings("all")
4109  public Boolean getIsEligibleForBrandedContent() {
4110    return this.isEligibleForBrandedContent;
4111  }
4112
4113  /**
4114   * Indicates whether the page is eligible for the branded content tool
4115   */
4116  @java.lang.SuppressWarnings("all")
4117  public void setIsEligibleForBrandedContent(final Boolean isEligibleForBrandedContent) {
4118    this.isEligibleForBrandedContent = isEligibleForBrandedContent;
4119  }
4120
4121  /**
4122   * Indicates whether the page is a Messenger Platform Bot with Get Started button enabled
4123   *
4124   * @return is a Messenger Platform Bot with Get Started button enabled
4125   */
4126  @java.lang.SuppressWarnings("all")
4127  public Boolean getIsMessengerBotGetStartedEnabled() {
4128    return this.isMessengerBotGetStartedEnabled;
4129  }
4130
4131  /**
4132   * Indicates whether the page is a Messenger Platform Bot with Get Started button enabled
4133   */
4134  @java.lang.SuppressWarnings("all")
4135  public void setIsMessengerBotGetStartedEnabled(final Boolean isMessengerBotGetStartedEnabled) {
4136    this.isMessengerBotGetStartedEnabled = isMessengerBotGetStartedEnabled;
4137  }
4138
4139  /**
4140   * Indicates whether the page is a Messenger Platform Bot
4141   *
4142   * @return Indicates whether the page is a Messenger Platform Bot
4143   */
4144  @java.lang.SuppressWarnings("all")
4145  public Boolean getIsMessengerPlatformBot() {
4146    return this.isMessengerPlatformBot;
4147  }
4148
4149  /**
4150   * Indicates whether the page is a Messenger Platform Bot
4151   */
4152  @java.lang.SuppressWarnings("all")
4153  public void setIsMessengerPlatformBot(final Boolean isMessengerPlatformBot) {
4154    this.isMessengerPlatformBot = isMessengerPlatformBot;
4155  }
4156
4157  /**
4158   * Indicates whether page is owned
4159   *
4160   * @return Indicates whether page is owned
4161   */
4162  @java.lang.SuppressWarnings("all")
4163  public Boolean getIsOwned() {
4164    return this.isOwned;
4165  }
4166
4167  /**
4168   * Indicates whether page is owned
4169   */
4170  @java.lang.SuppressWarnings("all")
4171  public void setIsOwned(final Boolean isOwned) {
4172    this.isOwned = isOwned;
4173  }
4174
4175  /**
4176   * A description of this page.
4177   * 
4178   * @return A description of this page.
4179   */
4180  @java.lang.SuppressWarnings("all")
4181  public String getDescription() {
4182    return this.description;
4183  }
4184
4185  /**
4186   * A description of this page.
4187   * 
4188   */
4189  @java.lang.SuppressWarnings("all")
4190  public void setDescription(final String description) {
4191    this.description = description;
4192  }
4193
4194  /**
4195   * The description of the Page in raw HTML.
4196   * 
4197   * @since 1.10.0
4198   * @return The description of the Page in raw HTML
4199   */
4200  @java.lang.SuppressWarnings("all")
4201  public String getDescriptionHtml() {
4202    return this.descriptionHtml;
4203  }
4204
4205  /**
4206   * The description of the Page in raw HTML.
4207   * 
4208   * @since 1.10.0
4209   */
4210  @java.lang.SuppressWarnings("all")
4211  public void setDescriptionHtml(final String descriptionHtml) {
4212    this.descriptionHtml = descriptionHtml;
4213  }
4214
4215  /**
4216   * The total number of users who have checked in to the Page.
4217   * 
4218   * @return The total number of users who have checked in to the Page.
4219   */
4220  @java.lang.SuppressWarnings("all")
4221  public Integer getCheckins() {
4222    return this.checkins;
4223  }
4224
4225  /**
4226   * The total number of users who have checked in to the Page.
4227   * 
4228   */
4229  @java.lang.SuppressWarnings("all")
4230  public void setCheckins(final Integer checkins) {
4231    this.checkins = checkins;
4232  }
4233
4234  /**
4235   * The phone number (not always normalized for country code) for the Page.
4236   * 
4237   * @return The phone number (not always normalized for country code) for the Page.
4238   */
4239  @java.lang.SuppressWarnings("all")
4240  public String getPhone() {
4241    return this.phone;
4242  }
4243
4244  /**
4245   * The phone number (not always normalized for country code) for the Page.
4246   * 
4247   */
4248  @java.lang.SuppressWarnings("all")
4249  public void setPhone(final String phone) {
4250    this.phone = phone;
4251  }
4252
4253  /**
4254   * Parking information. Applicable to Businesses and Places
4255   *
4256   * @return Parking information. Applicable to Businesses and Places
4257   */
4258  @java.lang.SuppressWarnings("all")
4259  public PageParking getParking() {
4260    return this.parking;
4261  }
4262
4263  /**
4264   * Parking information. Applicable to Businesses and Places
4265   */
4266  @java.lang.SuppressWarnings("all")
4267  public void setParking(final PageParking parking) {
4268    this.parking = parking;
4269  }
4270
4271  /**
4272   * An admin {@code access_token} for this page.
4273   * <p>
4274   * The current user must be an administrator of this page; only returned if specifically requested via the fields URL
4275   * parameter, e.g. {@code facebookClient.fetchObject("123", Page.class, Parameter.with("fields","access_token"))}
4276   * 
4277   * @return The access token specific to this page.
4278   * @since 1.6.5
4279   */
4280  @java.lang.SuppressWarnings("all")
4281  public String getAccessToken() {
4282    return this.accessToken;
4283  }
4284
4285  /**
4286   * An admin {@code access_token} for this page.
4287   * <p>
4288   * The current user must be an administrator of this page; only returned if specifically requested via the fields URL
4289   * parameter, e.g. {@code facebookClient.fetchObject("123", Page.class, Parameter.with("fields","access_token"))}
4290   * 
4291   * @since 1.6.5
4292   */
4293  @java.lang.SuppressWarnings("all")
4294  public void setAccessToken(final String accessToken) {
4295    this.accessToken = accessToken;
4296  }
4297
4298  /**
4299   * General information about this page.
4300   * 
4301   * @return General information about this page.
4302   * @since 1.6.10
4303   */
4304  @java.lang.SuppressWarnings("all")
4305  public String getAbout() {
4306    return this.about;
4307  }
4308
4309  /**
4310   * General information about this page.
4311   * 
4312   * @since 1.6.10
4313   */
4314  @java.lang.SuppressWarnings("all")
4315  public void setAbout(final String about) {
4316    this.about = about;
4317  }
4318
4319  /**
4320   * The number of people that are talking about this page (last seven days).
4321   * 
4322   * @return The number of people that are talking about this page (last seven days).
4323   * @since 1.6.10
4324   */
4325  @java.lang.SuppressWarnings("all")
4326  public Long getTalkingAboutCount() {
4327    return this.talkingAboutCount;
4328  }
4329
4330  /**
4331   * The number of people that are talking about this page (last seven days).
4332   * 
4333   * @since 1.6.10
4334   */
4335  @java.lang.SuppressWarnings("all")
4336  public void setTalkingAboutCount(final Long talkingAboutCount) {
4337    this.talkingAboutCount = talkingAboutCount;
4338  }
4339
4340  /**
4341   * Whether this page has checkin functionality enabled.
4342   *
4343   * @return Whether this page has checkin functionality enabled
4344   */
4345  @java.lang.SuppressWarnings("all")
4346  public Boolean getCanCheckin() {
4347    return this.canCheckin;
4348  }
4349
4350  /**
4351   * Whether this page has checkin functionality enabled.
4352   */
4353  @java.lang.SuppressWarnings("all")
4354  public void setCanCheckin(final Boolean canCheckin) {
4355    this.canCheckin = canCheckin;
4356  }
4357
4358  /**
4359   * Indicates whether the current session user can post on this page.
4360   * 
4361   * @return Whether the current session user can post on this page.
4362   * @since 1.6.10
4363   */
4364  @java.lang.SuppressWarnings("all")
4365  public Boolean getCanPost() {
4366    return this.canPost;
4367  }
4368
4369  /**
4370   * Indicates whether the current session user can post on this page.
4371   * 
4372   * @since 1.6.10
4373   */
4374  @java.lang.SuppressWarnings("all")
4375  public void setCanPost(final Boolean canPost) {
4376    this.canPost = canPost;
4377  }
4378
4379  /**
4380   * Indicates whether the page is published and visible to non-admins.
4381   * 
4382   * @return Whether the page is published and visible to non-admins.
4383   * @since 1.6.10
4384   */
4385  @java.lang.SuppressWarnings("all")
4386  public Boolean getIsPublished() {
4387    return this.isPublished;
4388  }
4389
4390  /**
4391   * Indicates whether the page is published and visible to non-admins.
4392   * 
4393   * @since 1.6.10
4394   */
4395  @java.lang.SuppressWarnings("all")
4396  public void setIsPublished(final Boolean isPublished) {
4397    this.isPublished = isPublished;
4398  }
4399
4400  /**
4401   * Indicates whether the Page is unclaimed.
4402   * 
4403   * @return Indicates whether the Page is unclaimed.
4404   * @since 1.7.0
4405   */
4406  @java.lang.SuppressWarnings("all")
4407  public Boolean getIsUnclaimed() {
4408    return this.isUnclaimed;
4409  }
4410
4411  /**
4412   * Indicates whether the Page is unclaimed.
4413   * 
4414   * @since 1.7.0
4415   */
4416  @java.lang.SuppressWarnings("all")
4417  public void setIsUnclaimed(final Boolean isUnclaimed) {
4418    this.isUnclaimed = isUnclaimed;
4419  }
4420
4421  /**
4422   * Indicates whether the application is subscribed for real time updates from this page
4423   *
4424   * @return Indicates whether the application is subscribed for real time updates from this page
4425   */
4426  @GraphAPI(since = "2.7")
4427  @java.lang.SuppressWarnings("all")
4428  public Boolean getIsWebhooksSubscribed() {
4429    return this.isWebhooksSubscribed;
4430  }
4431
4432  /**
4433   * Indicates whether the application is subscribed for real time updates from this page
4434   */
4435  @java.lang.SuppressWarnings("all")
4436  public void setIsWebhooksSubscribed(final Boolean isWebhooksSubscribed) {
4437    this.isWebhooksSubscribed = isWebhooksSubscribed;
4438  }
4439
4440  /**
4441   * Indicates the time when the TOS for running LeadGen Ads on the page was accepted
4442   */
4443  @java.lang.SuppressWarnings("all")
4444  public Date getLeadgenTosAcceptanceTime() {
4445    return this.leadgenTosAcceptanceTime;
4446  }
4447
4448  /**
4449   * Indicates the time when the TOS for running LeadGen Ads on the page was accepted
4450   */
4451  @java.lang.SuppressWarnings("all")
4452  public void setLeadgenTosAcceptanceTime(final Date leadgenTosAcceptanceTime) {
4453    this.leadgenTosAcceptanceTime = leadgenTosAcceptanceTime;
4454  }
4455
4456  /**
4457   * Indicates the user who accepted the TOS for running LeadGen Ads on the page
4458   */
4459  @java.lang.SuppressWarnings("all")
4460  public User getLeadgenTosAcceptingUser() {
4461    return this.leadgenTosAcceptingUser;
4462  }
4463
4464  /**
4465   * Indicates the user who accepted the TOS for running LeadGen Ads on the page
4466   */
4467  @java.lang.SuppressWarnings("all")
4468  public void setLeadgenTosAcceptingUser(final User leadgenTosAcceptingUser) {
4469    this.leadgenTosAcceptingUser = leadgenTosAcceptingUser;
4470  }
4471
4472  /**
4473   * The director of the film. Applicable to Films.
4474   * 
4475   * @return The director of the film
4476   * @since 1.7.0
4477   */
4478  @java.lang.SuppressWarnings("all")
4479  public String getDirectedBy() {
4480    return this.directedBy;
4481  }
4482
4483  /**
4484   * The director of the film. Applicable to Films.
4485   * 
4486   * @since 1.7.0
4487   */
4488  @java.lang.SuppressWarnings("all")
4489  public void setDirectedBy(final String directedBy) {
4490    this.directedBy = directedBy;
4491  }
4492
4493  /**
4494   * Subtext about the Page being viewed.
4495   *
4496   * @return Subtext about the Page being viewed
4497   */
4498  @java.lang.SuppressWarnings("all")
4499  public String getDisplaySubtext() {
4500    return this.displaySubtext;
4501  }
4502
4503  /**
4504   * Subtext about the Page being viewed.
4505   */
4506  @java.lang.SuppressWarnings("all")
4507  public void setDisplaySubtext(final String displaySubtext) {
4508    this.displaySubtext = displaySubtext;
4509  }
4510
4511  /**
4512   * Page estimated message response time displayed to user
4513   *
4514   * @return Page estimated message response time displayed to user
4515   */
4516  @java.lang.SuppressWarnings("all")
4517  public String getDisplayedMessageResponseTime() {
4518    return this.displayedMessageResponseTime;
4519  }
4520
4521  /**
4522   * Page estimated message response time displayed to user
4523   */
4524  @java.lang.SuppressWarnings("all")
4525  public void setDisplayedMessageResponseTime(final String displayedMessageResponseTime) {
4526    this.displayedMessageResponseTime = displayedMessageResponseTime;
4527  }
4528
4529  /**
4530   * General manager of the business. Applicable to Restaurants or Nightlife.
4531   * 
4532   * @return General manager of the business.
4533   * @since 1.7.0
4534   */
4535  @java.lang.SuppressWarnings("all")
4536  public String getGeneralManager() {
4537    return this.generalManager;
4538  }
4539
4540  /**
4541   * General manager of the business. Applicable to Restaurants or Nightlife.
4542   * 
4543   * @since 1.7.0
4544   */
4545  @java.lang.SuppressWarnings("all")
4546  public void setGeneralManager(final String generalManager) {
4547    this.generalManager = generalManager;
4548  }
4549
4550  /**
4551   * The general information for a page.
4552   * 
4553   * @return The general information for a page.
4554   * @since 1.6.12
4555   */
4556  @java.lang.SuppressWarnings("all")
4557  public String getGeneralInfo() {
4558    return this.generalInfo;
4559  }
4560
4561  /**
4562   * The general information for a page.
4563   * 
4564   * @since 1.6.12
4565   */
4566  @java.lang.SuppressWarnings("all")
4567  public void setGeneralInfo(final String generalInfo) {
4568    this.generalInfo = generalInfo;
4569  }
4570
4571  /**
4572   * The location of the place this page represents.
4573   * 
4574   * @return The location of the place this page represents.
4575   */
4576  @java.lang.SuppressWarnings("all")
4577  public Location getLocation() {
4578    return this.location;
4579  }
4580
4581  /**
4582   * The location of the place this page represents.
4583   * 
4584   */
4585  @java.lang.SuppressWarnings("all")
4586  public void setLocation(final Location location) {
4587    this.location = location;
4588  }
4589
4590  /**
4591   * The instant workflow merchant id associated with the Page
4592   *
4593   * @return The instant workflow merchant id associated with the Page
4594   */
4595  @java.lang.SuppressWarnings("all")
4596  public String getMerchantId() {
4597    return this.merchantId;
4598  }
4599
4600  /**
4601   * The instant workflow merchant id associated with the Page
4602   */
4603  @java.lang.SuppressWarnings("all")
4604  public void setMerchantId(final String merchantId) {
4605    this.merchantId = merchantId;
4606  }
4607
4608  /**
4609   * Review status of the Page against FB commerce policies, this status decides whether the Page can use component flow
4610   */
4611  @java.lang.SuppressWarnings("all")
4612  public String getMerchantReviewStatus() {
4613    return this.merchantReviewStatus;
4614  }
4615
4616  /**
4617   * Review status of the Page against FB commerce policies, this status decides whether the Page can use component flow
4618   */
4619  @java.lang.SuppressWarnings("all")
4620  public void setMerchantReviewStatus(final String merchantReviewStatus) {
4621    this.merchantReviewStatus = merchantReviewStatus;
4622  }
4623
4624  /**
4625   * The cover photo.
4626   * 
4627   * @return The cover photo.
4628   * @since 1.6.10
4629   */
4630  @java.lang.SuppressWarnings("all")
4631  public Cover getCover() {
4632    return this.cover;
4633  }
4634
4635  /**
4636   * The cover photo.
4637   * 
4638   * @since 1.6.10
4639   */
4640  @java.lang.SuppressWarnings("all")
4641  public void setCover(final Cover cover) {
4642    this.cover = cover;
4643  }
4644
4645  /**
4646   * The website URL
4647   * 
4648   * @return the website url
4649   * @since 1.6.15
4650   */
4651  @java.lang.SuppressWarnings("all")
4652  public String getWebsite() {
4653    return this.website;
4654  }
4655
4656  /**
4657   * The website URL
4658   * 
4659   * @since 1.6.15
4660   */
4661  @java.lang.SuppressWarnings("all")
4662  public void setWebsite(final String website) {
4663    this.website = website;
4664  }
4665
4666  /**
4667   * The name of a Location Page that provides additional location information for that Page beside its name.
4668   * 
4669   * @return the name of Location Page
4670   * @since 1.7.0
4671   */
4672  @java.lang.SuppressWarnings("all")
4673  public String getNameWithLocationDescriptor() {
4674    return this.nameWithLocationDescriptor;
4675  }
4676
4677  /**
4678   * The name of a Location Page that provides additional location information for that Page beside its name.
4679   * 
4680   * @since 1.7.0
4681   */
4682  @java.lang.SuppressWarnings("all")
4683  public void setNameWithLocationDescriptor(final String nameWithLocationDescriptor) {
4684    this.nameWithLocationDescriptor = nameWithLocationDescriptor;
4685  }
4686
4687  /**
4688   * Booking agent of the band. Applicable to Bands.
4689   * 
4690   * @return Booking agent of the band
4691   * @since 1.7.0
4692   */
4693  @java.lang.SuppressWarnings("all")
4694  public String getBookingAgent() {
4695    return this.bookingAgent;
4696  }
4697
4698  /**
4699   * Booking agent of the band. Applicable to Bands.
4700   * 
4701   * @since 1.7.0
4702   */
4703  @java.lang.SuppressWarnings("all")
4704  public void setBookingAgent(final String bookingAgent) {
4705    this.bookingAgent = bookingAgent;
4706  }
4707
4708  /**
4709   * Press contact information of the band. Applicable to Bands.
4710   * 
4711   * @return Press contact information of the band
4712   * @since 1.7.0
4713   */
4714  @java.lang.SuppressWarnings("all")
4715  public String getPressContact() {
4716    return this.pressContact;
4717  }
4718
4719  /**
4720   * Press contact information of the band. Applicable to Bands.
4721   * 
4722   * @since 1.7.0
4723   */
4724  @java.lang.SuppressWarnings("all")
4725  public void setPressContact(final String pressContact) {
4726    this.pressContact = pressContact;
4727  }
4728
4729  /**
4730   * Instagram account connected to page via page settings
4731   */
4732  @java.lang.SuppressWarnings("all")
4733  public IgUser getConnectedInstagramAccount() {
4734    return this.connectedInstagramAccount;
4735  }
4736
4737  /**
4738   * Instagram account connected to page via page settings
4739   */
4740  @java.lang.SuppressWarnings("all")
4741  public void setConnectedInstagramAccount(final IgUser connectedInstagramAccount) {
4742    this.connectedInstagramAccount = connectedInstagramAccount;
4743  }
4744
4745  /**
4746   * Instagram account linked to page during Instagram business conversion flow
4747   */
4748  @java.lang.SuppressWarnings("all")
4749  public IgUser getInstagramBusinessAccount() {
4750    return this.instagramBusinessAccount;
4751  }
4752
4753  /**
4754   * Instagram account linked to page during Instagram business conversion flow
4755   */
4756  @java.lang.SuppressWarnings("all")
4757  public void setInstagramBusinessAccount(final IgUser instagramBusinessAccount) {
4758    this.instagramBusinessAccount = instagramBusinessAccount;
4759  }
4760
4761  /**
4762   * Indicates the current Instant Articles review status for this page
4763   *
4764   * @return Indicates the current Instant Articles review status for this page
4765   */
4766  @java.lang.SuppressWarnings("all")
4767  public String getInstantArticlesReviewStatus() {
4768    return this.instantArticlesReviewStatus;
4769  }
4770
4771  /**
4772   * Indicates the current Instant Articles review status for this page
4773   */
4774  @java.lang.SuppressWarnings("all")
4775  public void setInstantArticlesReviewStatus(final String instantArticlesReviewStatus) {
4776    this.instantArticlesReviewStatus = instantArticlesReviewStatus;
4777  }
4778
4779  /**
4780   * last used time of this object by the current viewer
4781   *
4782   * @return last used time of this object by the current viewer
4783   */
4784  @java.lang.SuppressWarnings("all")
4785  public Date getLastUsedTime() {
4786    return this.lastUsedTime;
4787  }
4788
4789  /**
4790   * last used time of this object by the current viewer
4791   */
4792  @java.lang.SuppressWarnings("all")
4793  public void setLastUsedTime(final Date lastUsedTime) {
4794    this.lastUsedTime = lastUsedTime;
4795  }
4796
4797  /**
4798   * This Page's Insights data
4799   */
4800  @java.lang.SuppressWarnings("all")
4801  public Connection<Insight> getInsights() {
4802    return this.insights;
4803  }
4804
4805  /**
4806   * This Page's Insights data
4807   */
4808  @java.lang.SuppressWarnings("all")
4809  public void setInsights(final Connection<Insight> insights) {
4810    this.insights = insights;
4811  }
4812
4813  /**
4814   * groups
4815   */
4816  @java.lang.SuppressWarnings("all")
4817  public Connection<Group> getGroups() {
4818    return this.groups;
4819  }
4820
4821  /**
4822   * groups
4823   */
4824  @java.lang.SuppressWarnings("all")
4825  public void setGroups(final Connection<Group> groups) {
4826    this.groups = groups;
4827  }
4828
4829  /**
4830   * Indicates whether a page has transitioned to new page experience or not
4831   */
4832  @java.lang.SuppressWarnings("all")
4833  public Boolean getHasTransitionedToNewPageExperience() {
4834    return this.hasTransitionedToNewPageExperience;
4835  }
4836
4837  /**
4838   * Indicates whether a page has transitioned to new page experience or not
4839   */
4840  @java.lang.SuppressWarnings("all")
4841  public void setHasTransitionedToNewPageExperience(final Boolean hasTransitionedToNewPageExperience) {
4842    this.hasTransitionedToNewPageExperience = hasTransitionedToNewPageExperience;
4843  }
4844}