001// Generated by delombok at Thu Aug 13 13:56:44 UTC 2026 002/* 003 * Copyright (c) 2010-2026 Mark Allen, Norbert Bartels. 004 * 005 * Permission is hereby granted, free of charge, to any person obtaining a copy 006 * of this software and associated documentation files (the "Software"), to deal 007 * in the Software without restriction, including without limitation the rights 008 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 009 * copies of the Software, and to permit persons to whom the Software is 010 * furnished to do so, subject to the following conditions: 011 * 012 * The above copyright notice and this permission notice shall be included in 013 * all copies or substantial portions of the Software. 014 * 015 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 016 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 017 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 018 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 019 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 020 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 021 * THE SOFTWARE. 022 */ 023package com.restfb.types; 024 025import static java.util.Collections.unmodifiableList; 026import java.util.ArrayList; 027import java.util.Date; 028import java.util.List; 029import com.restfb.Connection; 030import com.restfb.Facebook; 031import com.restfb.JsonMapper; 032import com.restfb.JsonMapper.JsonMappingCompleted; 033import com.restfb.annotation.GraphAPI; 034import com.restfb.exception.FacebookJsonMappingException; 035import com.restfb.json.Json; 036import com.restfb.json.JsonObject; 037import com.restfb.json.JsonValue; 038import com.restfb.types.features.HasComments; 039import com.restfb.types.features.HasCreatedTime; 040import com.restfb.types.features.HasMessage; 041import com.restfb.util.MessageTagUtils; 042 043/** 044 * Represents the <a href="https://developers.facebook.com/docs/graph-api/reference/post/">Post Graph API type</a>. 045 * 046 * @author <a href="http://restfb.com">Mark Allen</a> 047 * @since 1.5 048 */ 049@SuppressWarnings("deprecation") 050public class Post extends FacebookType implements HasComments, HasCreatedTime, HasMessage { 051 /** 052 * An object containing the ID and name of the user who posted the message. 053 */ 054 @Facebook 055 private From from; 056 /** 057 * Objectives under which this post can be advertised 058 */ 059 @Facebook("allowed_advertising_objects") 060 private String allowedAdvertisingObjects; 061 /** 062 * Objectives under which this post can be advertised 063 */ 064 @Facebook("allowed_advertising_objectives") 065 private List<String> allowedAdvertisingObjectives = new ArrayList<>(); 066 /** 067 * The call to action type used in any Page posts for mobile app engagement ads 068 */ 069 @Facebook("call_to_action") 070 private PostCallToAction callToAction; 071 @Facebook("child_attachments") 072 private List<Post> childAttachments = new ArrayList<>(); 073 /** 074 * If comments are being mirrored to an external site, this function returns the domain of that external site. 075 */ 076 @Facebook("comments_mirroring_domain") 077 private String commentsMirroringDomain; 078 /** 079 * The message. 080 */ 081 @Facebook 082 private String message; 083 /** 084 * ID of the parent post 085 */ 086 @Facebook("parent_id") 087 private String parentId; 088 /** 089 * The permanent static URL to the post on www.facebook.com. 090 * <p> 091 * Example: https://www.facebook.com/FacebookforDevelopers/posts/10153449196353553 092 * </p> 093 */ 094 @Facebook("permalink_url") 095 private String permalinkUrl; 096 /** 097 * If available, a link to the picture included with this post. 098 */ 099 @Facebook 100 private String picture; 101 /** 102 * The link attached to this post. 103 * 104 * Hint for Graph API 3.3: Use <code>attachment/url_unshimmed</code> instead 105 */ 106 @Facebook 107 @GraphAPI(until = "3.2") 108 private String link; 109 /** 110 * The name of the link. 111 * 112 * Hint for Graph API 3.3: Use <code>attachment/title</code> instead 113 */ 114 @Facebook 115 @GraphAPI(until = "3.2") 116 private String name; 117 /** 118 * The caption of the link (appears beneath the link name). 119 * 120 * Hint for Graph API 3.3: Use <code>attachment/title</code> instead 121 */ 122 @Facebook 123 @GraphAPI(until = "3.2") 124 private String caption; 125 /** 126 * A description of the link (appears beneath the link caption). 127 * 128 * Hint for Graph API 3.3: Use <code>attachment/description</code> instead 129 */ 130 @Facebook 131 @GraphAPI(until = "3.2") 132 private String description; 133 /** 134 * If this Post has a place, the event associated with the place 135 */ 136 @Facebook 137 @GraphAPI(since = "2.5") 138 private Event event; 139 @Facebook("expanded_height") 140 private Long expandedHeight; 141 @Facebook 142 private Long height; 143 @Facebook("expanded_width") 144 private Long expandedWidth; 145 @Facebook 146 private Long width; 147 @Facebook("video_buying_eligibility") 148 private List<String> videoBuyingEligibility; 149 /** 150 * If available, the source link attached to this post (for example, a flash or video file). 151 * 152 * Hint for Graph API 3.3: Use <code>attachment/media/source</code> instead 153 */ 154 @Facebook 155 @GraphAPI(until = "3.2") 156 private String source; 157 /** 158 * The application used to create this post. 159 */ 160 @Facebook 161 private NamedFacebookType application; 162 /** 163 * The backdated time for backdate post. For regular post, this field will be set to null. 164 */ 165 @Facebook("backdated_time") 166 private Date backdatedTime; 167 /** 168 * Information about the attachment to the post. 169 */ 170 @Facebook 171 private Coordinates coordinates; 172 /** 173 * A link to an icon representing the type of this post. 174 */ 175 @Facebook 176 private String icon; 177 /** 178 * The privacy settings for this post. 179 */ 180 @Facebook 181 private Privacy privacy; 182 /** 183 * ID of post to use for promotion for stories that cannot be promoted directly 184 */ 185 @Facebook("promotable_id") 186 private String promotableId; 187 /** 188 * Status of the promotion, if the post was promoted. 189 */ 190 @Facebook("promotion_status") 191 private String promotionStatus; 192 /** 193 * Object that controls news feed targeting for this post. 194 * 195 * To force Facebook to fill the <code>feed_targeting</code> field you have to fetch the post with the 196 * <code>fields=feed_targeting</code> parameter, otherwise the feedTargeting is <code>null</code>. 197 * 198 * 199 * @since 1.11.0 200 */ 201 @Facebook("feed_targeting") 202 private FeedTargeting feedTargeting; 203 /** 204 * Whether the viewer can send a private reply to this post (Page viewers only) 205 */ 206 @Facebook("can_reply_privately") 207 @GraphAPI(since = "2.5") 208 private Boolean canReplyPrivately; 209 /** 210 * The profile this was posted on if different from the author. 211 */ 212 @Facebook 213 @GraphAPI(since = "2.5") 214 private NamedFacebookType target; 215 /** 216 * Ads targeting information of the post. 217 */ 218 @Facebook 219 private Targeting targeting; 220 /** 221 * Timeline visibility information of the post. 222 */ 223 @Facebook("timeline_visibility") 224 private String timelineVisibility; 225 /** 226 * Duplicate mapping for "likes" since FB can return it differently in different situations. 227 */ 228 @Facebook("likes") 229 private Long likesCount = 0L; 230 /** 231 * Duplicate mapping for "likes" since FB can return it differently in different situations. 232 * 233 * -- GETTER -- The likes on this post. 234 * <p> 235 * Sometimes this can be {@code null} - check {@link #getLikesCount()} instead in that case. 236 */ 237 @Facebook 238 private Likes likes; 239 /** 240 * The time the post was initially published. 241 */ 242 @Facebook("created_time") 243 private Date createdTime; 244 /** 245 * The time of the last comment on this post. 246 */ 247 @Facebook("updated_time") 248 private Date updatedTime; 249 /** 250 * This field is available on tagged Posts. 251 */ 252 @Facebook("tagged_time") 253 private Date taggedTime; 254 /** 255 * The Facebook object id for an uploaded photo or video. 256 * 257 * Hint for Graph API 3.3: Use <code>attachment/target/id</code> instead 258 * 259 * @since 1.6.5 260 */ 261 @Facebook("object_id") 262 @GraphAPI(until = "3.2") 263 private String objectId; 264 /** 265 * The {@code status_type} of post this is, for example {@code "approved_friend"}. 266 * 267 * @since 1.6.12 268 */ 269 @Facebook("status_type") 270 private String statusType; 271 /** 272 * Text from stories not intentionally generated by users 273 * 274 * @since 1.6.16 275 */ 276 @Facebook 277 private String story; 278 /** 279 * The comments for this post. 280 */ 281 @Facebook 282 private Comments comments; 283 /** 284 * The reactions for this post. 285 */ 286 @Facebook 287 private Reactions reactions; 288 /** 289 * The place where this post occurred. 290 * 291 * @since 1.6.8 292 */ 293 @Facebook 294 private Place place; 295 @Facebook 296 private List<NamedFacebookType> to = new ArrayList<>(); 297 @Facebook 298 private List<Action> actions = new ArrayList<>(); 299 @Facebook 300 private List<Property> properties = new ArrayList<>(); 301 @Facebook("message_tags") 302 private transient String rawMessageTags; 303 private List<MessageTag> messageTags = new ArrayList<>(); 304 @Facebook("story_tags") 305 private transient String rawStoryTags; 306 private List<MessageTag> storyTags = new ArrayList<>(); 307 @Facebook("sponsor_tags") 308 private List<NamedFacebookType> sponsorTags = new ArrayList<>(); 309 @Facebook 310 private Connection<Insight> insights; 311 /** 312 * UNIX timestamp of the scheduled publish time for the post. 313 */ 314 @Facebook("scheduled_publish_time") 315 private Date scheduledPublishTime; 316 /** 317 * Number of times the post has been shared. 318 */ 319 @Facebook 320 private Shares shares; 321 /** 322 * ID of admin who created the post. 323 * 324 * Applies to pages only 325 * 326 * @since 1.10.0 327 */ 328 @Facebook("admin_creator") 329 private NamedFacebookType adminCreator; 330 /** 331 * Whether the post can be promoted on Instagram. 332 * <p> 333 * It returns the enum <code>eligible</code> if it can be promoted. Otherwise it returns an enum for why it cannot be 334 * promoted 335 * </p> 336 */ 337 @Facebook("instagram_eligibility") 338 private String instagramEligibility; 339 /** 340 * Whether or not the post references an app. 341 */ 342 @Facebook("is_app_share") 343 private Boolean isAppShare; 344 @Facebook("is_eligible_for_promotion") 345 private Boolean isEligibleForPromotion; 346 /** 347 * Whether the post has expiration time that has passed 348 */ 349 @Facebook("is_expired") 350 private Boolean isExpired; 351 @Facebook("is_fb_live_videos") 352 private Boolean isFbLiveVideos; 353 /** 354 * If this post is marked as hidden (applies to Pages only). 355 * 356 * @since 1.10.0 357 */ 358 @Facebook("is_hidden") 359 private Boolean isHidden; 360 /** 361 * Returns True if the post was created inline when creating ads. 362 */ 363 @Facebook("is_inline_created") 364 private Boolean isInlineCreated; 365 /** 366 * Whether this post can be promoted in Instagram. 367 */ 368 @Facebook("is_instagram_eligible") 369 private Boolean isInstagramEligible; 370 /** 371 * Whether the post is currently popular. 372 * 373 * Based on whether the total actions as a percentage of reach exceeds a certain threshold 374 */ 375 @Facebook("is_popular") 376 private Boolean isPopular; 377 /** 378 * Indicates whether a scheduled post was published. (applies to scheduled Page Post only, for users post and 379 * instantly published posts this value is always <code>true</code>) 380 * 381 * @since 1.10.0 382 */ 383 @Facebook("is_published") 384 private Boolean isPublished; 385 /** 386 * Whether the post is a spherical video post. 387 */ 388 @Facebook("is_spherical") 389 private Boolean isSpherical; 390 /** 391 * Whether user is subscribed to the post. 392 */ 393 @Facebook 394 private Boolean subscribed; 395 /** 396 * Whether display the end card for a multi-link share post 397 */ 398 @Facebook("multi_share_end_card") 399 private Boolean multiShareEndCard; 400 /** 401 * Whether automatically select the order of the links in multi-link share post when used in an ad 402 */ 403 @Facebook("multi_share_optimized") 404 private Boolean multiShareOptimized; 405 /** 406 * Attachments added to a post. 407 * 408 * To force Facebook to fill the <code>attachments</code> field you have to fetch the post with the 409 * <code>fields=attachments</code> parameter, otherwise the attachments are <code>null</code>. 410 */ 411 @Facebook 412 private Attachments attachments; 413 /** 414 * Full picture URL. 415 * 416 * you get the url to this posts full picture. 417 * 418 * To force Facebook to fill the <code>full_picture</code> field you have to fetch the post with the 419 * <code>fields=full_picture</code> parameter, otherwise the full_picture is <code>null</code>. 420 */ 421 @Facebook("full_picture") 422 private String fullPicture; 423 /** 424 * ID of the user or Page the post was shared from 425 */ 426 @Facebook 427 private String via; 428 429 /** 430 * A string indicating the object type of this post. 431 * 432 * Hint for Graph API 3.3: <code>attachment/media_type</code> If there is no <code>attachment</code> or 433 * <code>media_type=link</code>, the value is the same as <code>type=status</code>. 434 * 435 * @return A string indicating the object type of this post. 436 */ 437 @Override 438 @GraphAPI(until = "3.2") 439 public String getType() { 440 return super.getType(); 441 } 442 443 private static final long serialVersionUID = 3L; 444 445 /** 446 * Post-JSON-mapping operation that populates the {@code messageTags} field "by hand". 447 * <p> 448 * This is a temporary hack until we have formal public support for it/improved {@code JsonMapper} capabilities so it 449 * can handle arbitrary Map types. 450 * 451 * @param jsonMapper 452 * The {@code JsonMapper} that was used to map to this type. 453 * @since 1.6.11 454 */ 455 @JsonMappingCompleted 456 protected void jsonMappingCompleted(JsonMapper jsonMapper) { 457 if (rawMessageTags != null) { 458 messageTags = createTags(rawMessageTags, jsonMapper); 459 } 460 if (rawStoryTags != null) { 461 storyTags = createTags(rawStoryTags, jsonMapper); 462 } 463 } 464 465 private List<MessageTag> createTags(String rawTags, JsonMapper jsonMapper) { 466 try { 467 return jsonMapper.toJavaList(rawTags, MessageTag.class); 468 } catch (FacebookJsonMappingException je) { 469 } 470 // message tags not in Graph API 2.5 format, ignore this exception and try another way 471 try { 472 List<MessageTag> resultList = new ArrayList<>(); 473 JsonObject rawMessageTagsObject = jsonMapper.toJavaObject(rawTags, JsonObject.class); 474 for (String key : rawMessageTagsObject.names()) { 475 String tagArrayString = rawMessageTagsObject.get(key).toString(); 476 resultList.addAll(jsonMapper.toJavaList(tagArrayString, MessageTag.class)); 477 } 478 return resultList; 479 } catch (FacebookJsonMappingException je) { 480 return new ArrayList<>(); 481 } 482 } 483 484 485 /** 486 * Represents the undocumented {@code Property} type. 487 * 488 * @author <a href="http://restfb.com">Mark Allen</a> 489 * @since 1.6.4 490 */ 491 public static class Property extends AbstractFacebookType { 492 /** 493 * The name of the property. 494 */ 495 @Facebook 496 private String name; 497 /** 498 * The text of the property. 499 */ 500 @Facebook 501 private String text; 502 /** 503 * The URL of the property. 504 */ 505 @Facebook 506 private String href; 507 private static final long serialVersionUID = 1L; 508 509 /** 510 * The name of the property. 511 * 512 * @return The name of the property. 513 */ 514 @java.lang.SuppressWarnings("all") 515 @lombok.Generated 516 public String getName() { 517 return this.name; 518 } 519 520 /** 521 * The name of the property. 522 */ 523 @java.lang.SuppressWarnings("all") 524 @lombok.Generated 525 public void setName(final String name) { 526 this.name = name; 527 } 528 529 /** 530 * The text of the property. 531 * 532 * @return The text of the property. 533 */ 534 @java.lang.SuppressWarnings("all") 535 @lombok.Generated 536 public String getText() { 537 return this.text; 538 } 539 540 /** 541 * The text of the property. 542 */ 543 @java.lang.SuppressWarnings("all") 544 @lombok.Generated 545 public void setText(final String text) { 546 this.text = text; 547 } 548 549 /** 550 * The URL of the property. 551 * 552 * @return The URL of the property. 553 */ 554 @java.lang.SuppressWarnings("all") 555 @lombok.Generated 556 public String getHref() { 557 return this.href; 558 } 559 560 /** 561 * The URL of the property. 562 */ 563 @java.lang.SuppressWarnings("all") 564 @lombok.Generated 565 public void setHref(final String href) { 566 this.href = href; 567 } 568 } 569 570 571 /** 572 * Represents the <a href="http://developers.facebook.com/docs/reference/api/post">Action Graph API type</a>. 573 * 574 * @author <a href="http://restfb.com">Mark Allen</a> 575 * @since 1.5 576 */ 577 public static class Action extends AbstractFacebookType { 578 /** 579 * Gets the name of the action. 580 */ 581 @Facebook 582 private String name; 583 /** 584 * The link for the action. 585 */ 586 @Facebook 587 private String link; 588 private static final long serialVersionUID = 1L; 589 590 /** 591 * Gets the name of the action. 592 * 593 * @return Gets the name of the action. 594 */ 595 @java.lang.SuppressWarnings("all") 596 @lombok.Generated 597 public String getName() { 598 return this.name; 599 } 600 601 /** 602 * Gets the name of the action. 603 */ 604 @java.lang.SuppressWarnings("all") 605 @lombok.Generated 606 public void setName(final String name) { 607 this.name = name; 608 } 609 610 /** 611 * The link for the action. 612 * 613 * @return The link for the action. 614 */ 615 @java.lang.SuppressWarnings("all") 616 @lombok.Generated 617 public String getLink() { 618 return this.link; 619 } 620 621 /** 622 * The link for the action. 623 */ 624 @java.lang.SuppressWarnings("all") 625 @lombok.Generated 626 public void setLink(final String link) { 627 this.link = link; 628 } 629 } 630 631 632 /** 633 * Represents the coordinates information attached to a Post. 634 */ 635 public static class Coordinates extends AbstractFacebookType { 636 @Facebook("checkin_id") 637 private String checkinId; 638 @Facebook("author_uid") 639 private String authorUid; 640 @Facebook("page_id") 641 private String pageId; 642 @Facebook("target_id") 643 private String targetId; 644 @Facebook("target_href") 645 private String targetHref; 646 @Facebook 647 private JsonObject coords; 648 @Facebook("tagged_uids") 649 private List<String> taggedUids = new ArrayList<>(); 650 @Facebook 651 private Date timestamp; 652 @Facebook 653 private String message; 654 @Facebook("target_type") 655 private String targetType; 656 private static final long serialVersionUID = 1L; 657 658 @java.lang.SuppressWarnings("all") 659 @lombok.Generated 660 public String getCheckinId() { 661 return this.checkinId; 662 } 663 664 @java.lang.SuppressWarnings("all") 665 @lombok.Generated 666 public void setCheckinId(final String checkinId) { 667 this.checkinId = checkinId; 668 } 669 670 @java.lang.SuppressWarnings("all") 671 @lombok.Generated 672 public String getAuthorUid() { 673 return this.authorUid; 674 } 675 676 @java.lang.SuppressWarnings("all") 677 @lombok.Generated 678 public void setAuthorUid(final String authorUid) { 679 this.authorUid = authorUid; 680 } 681 682 @java.lang.SuppressWarnings("all") 683 @lombok.Generated 684 public String getPageId() { 685 return this.pageId; 686 } 687 688 @java.lang.SuppressWarnings("all") 689 @lombok.Generated 690 public void setPageId(final String pageId) { 691 this.pageId = pageId; 692 } 693 694 @java.lang.SuppressWarnings("all") 695 @lombok.Generated 696 public String getTargetId() { 697 return this.targetId; 698 } 699 700 @java.lang.SuppressWarnings("all") 701 @lombok.Generated 702 public void setTargetId(final String targetId) { 703 this.targetId = targetId; 704 } 705 706 @java.lang.SuppressWarnings("all") 707 @lombok.Generated 708 public String getTargetHref() { 709 return this.targetHref; 710 } 711 712 @java.lang.SuppressWarnings("all") 713 @lombok.Generated 714 public void setTargetHref(final String targetHref) { 715 this.targetHref = targetHref; 716 } 717 718 @java.lang.SuppressWarnings("all") 719 @lombok.Generated 720 public JsonObject getCoords() { 721 return this.coords; 722 } 723 724 @java.lang.SuppressWarnings("all") 725 @lombok.Generated 726 public void setCoords(final JsonObject coords) { 727 this.coords = coords; 728 } 729 730 @java.lang.SuppressWarnings("all") 731 @lombok.Generated 732 public List<String> getTaggedUids() { 733 return this.taggedUids; 734 } 735 736 @java.lang.SuppressWarnings("all") 737 @lombok.Generated 738 public void setTaggedUids(final List<String> taggedUids) { 739 this.taggedUids = taggedUids; 740 } 741 742 @java.lang.SuppressWarnings("all") 743 @lombok.Generated 744 public Date getTimestamp() { 745 return this.timestamp; 746 } 747 748 @java.lang.SuppressWarnings("all") 749 @lombok.Generated 750 public void setTimestamp(final Date timestamp) { 751 this.timestamp = timestamp; 752 } 753 754 @java.lang.SuppressWarnings("all") 755 @lombok.Generated 756 public String getMessage() { 757 return this.message; 758 } 759 760 @java.lang.SuppressWarnings("all") 761 @lombok.Generated 762 public void setMessage(final String message) { 763 this.message = message; 764 } 765 766 @java.lang.SuppressWarnings("all") 767 @lombok.Generated 768 public String getTargetType() { 769 return this.targetType; 770 } 771 772 @java.lang.SuppressWarnings("all") 773 @lombok.Generated 774 public void setTargetType(final String targetType) { 775 this.targetType = targetType; 776 } 777 } 778 779 780 public static class KeyedType extends NamedFacebookType { 781 private static final long serialVersionUID = 1L; 782 @Facebook 783 private String key; 784 785 @JsonMappingCompleted 786 private void replaceId() { 787 if (getId() == null && key != null) { 788 setId(key); 789 } 790 if (key == null && getId() != null) { 791 setKey(getId()); 792 } 793 } 794 795 @java.lang.SuppressWarnings("all") 796 @lombok.Generated 797 public String getKey() { 798 return this.key; 799 } 800 801 @java.lang.SuppressWarnings("all") 802 @lombok.Generated 803 public void setKey(final String key) { 804 this.key = key; 805 } 806 } 807 808 809 public static class Targeting extends AbstractFacebookType { 810 private static final long serialVersionUID = 1L; 811 @Facebook("geo_locations") 812 @GraphAPI(since = "2.8") 813 FeedTargeting geoLocations; 814 @Facebook 815 protected List<KeyedType> cities = new ArrayList<>(); 816 @Facebook 817 protected List<String> countries = new ArrayList<>(); 818 @Facebook 819 protected List<KeyedType> regions = new ArrayList<>(); 820 @Facebook("regions") 821 private transient String rawRegionsString; 822 823 @JsonMappingCompleted 824 private void convertList(JsonMapper mapper) { 825 if (rawRegionsString != null) { 826 JsonValue jsonValue = Json.parse(rawRegionsString); 827 if (jsonValue.isObject()) { 828 JsonObject rawRegions = jsonValue.asObject(); 829 for (String key : rawRegions.names()) { 830 String region = rawRegions.get(key).toString(); 831 regions.add(mapper.toJavaObject(region, KeyedType.class)); 832 } 833 } 834 } 835 } 836 837 @Facebook 838 protected List<Integer> locales = new ArrayList<>(); 839 840 public boolean addCity(KeyedType city) { 841 if (geoLocations != null) { 842 return geoLocations.addCity(city); 843 } 844 return cities.add(city); 845 } 846 847 public boolean addCountry(String country) { 848 if (geoLocations != null) { 849 return geoLocations.addCountry(country); 850 } 851 return countries.add(country); 852 } 853 854 public boolean addLocale(Integer locale) { 855 if (geoLocations != null) { 856 return geoLocations.addLocale(locale); 857 } 858 return locales.add(locale); 859 } 860 861 public boolean addRegion(KeyedType region) { 862 if (geoLocations != null) { 863 return geoLocations.addRegion(region); 864 } 865 return regions.add(region); 866 } 867 868 /** 869 * Values of targeting cities. 870 * 871 * Use type of adcity to find Targeting Options and use the returned key to specify. 872 * 873 * @return list of cities 874 */ 875 public List<KeyedType> getCities() { 876 if (geoLocations != null) { 877 return geoLocations.getCities(); 878 } 879 return unmodifiableList(cities); 880 } 881 882 /** 883 * Values of targeting countries. 884 * 885 * You can specify up to 25 countries. Use ISO 3166 format codes. 886 * 887 * @return list of targeting countries. 888 */ 889 public List<String> getCountries() { 890 if (geoLocations != null) { 891 return geoLocations.getCountries(); 892 } 893 return unmodifiableList(countries); 894 } 895 896 /** 897 * Targeted locales. 898 * 899 * Use type of adlocale to find Targeting Options and use the returned key to specify. 900 * 901 * @return list of locales 902 */ 903 public List<Integer> getLocales() { 904 if (geoLocations != null && !geoLocations.getLocales().isEmpty()) { 905 return geoLocations.getLocales(); 906 } 907 return unmodifiableList(locales); 908 } 909 910 /** 911 * Values of targeting regions. 912 * 913 * Use type of {@code adregion} to find Targeting Options and use the returned key to specify. 914 * 915 * @return list of regions 916 */ 917 public List<KeyedType> getRegions() { 918 if (geoLocations != null) { 919 return geoLocations.getRegions(); 920 } 921 return unmodifiableList(regions); 922 } 923 924 public boolean removeCity(NamedFacebookType city) { 925 if (geoLocations != null) { 926 return geoLocations.removeCity(city); 927 } 928 return cities.remove(city); 929 } 930 931 public boolean removeCountry(String country) { 932 if (geoLocations != null) { 933 return geoLocations.removeCountry(country); 934 } 935 return countries.remove(country); 936 } 937 938 public boolean removeLocale(Integer locale) { 939 if (geoLocations != null) { 940 return geoLocations.removeLocale(locale); 941 } 942 return locales.remove(locale); 943 } 944 945 public boolean removeRegion(NamedFacebookType region) { 946 if (geoLocations != null) { 947 return geoLocations.removeRegion(region); 948 } 949 return regions.remove(region); 950 } 951 952 @GraphAPI(since = "2.8") 953 @java.lang.SuppressWarnings("all") 954 @lombok.Generated 955 public FeedTargeting getGeoLocations() { 956 return this.geoLocations; 957 } 958 959 @java.lang.SuppressWarnings("all") 960 @lombok.Generated 961 public void setGeoLocations(final FeedTargeting geoLocations) { 962 this.geoLocations = geoLocations; 963 } 964 } 965 966 967 /** 968 * Object that controls news feed targeting for this post. 969 * 970 * Anyone in these groups will be more likely to see this post, others will be less likely, but may still see it 971 * anyway. Any of the targeting fields shown here can be used, none are required (applies to Pages only). 972 * 973 * Represents the <a href="http://developers.facebook.com/docs/reference/api/post#fields">Feed Targeting API type</a>. 974 */ 975 public static class FeedTargeting extends Targeting { 976 private static final long serialVersionUID = 1L; 977 /** 978 * Maximum age. 979 */ 980 @Facebook("age_max") 981 private Integer ageMax; 982 /** 983 * Must be 13 or higher. Default is 0 984 */ 985 @Facebook("age_min") 986 private Integer ageMin; 987 @Facebook("relevant_until_ts") 988 private Date relevantUntilTs; 989 @Facebook("college_majors") 990 private List<String> collegeMajors = new ArrayList<>(); 991 @Facebook("college_networks") 992 private List<FacebookType> collegeNetworks = new ArrayList<>(); 993 @Facebook("college_years") 994 private List<Integer> collegeYears = new ArrayList<>(); 995 @Facebook("education_statuses") 996 private List<Integer> educationStatuses = new ArrayList<>(); 997 @Facebook("fan_of") 998 private List<String> fanOf = new ArrayList<>(); 999 @Facebook 1000 private List<Integer> genders = new ArrayList<>(); 1001 @Facebook("interested_in") 1002 private List<Integer> interestedIn = new ArrayList<>(); 1003 @Facebook 1004 private List<String> interests = new ArrayList<>(); 1005 @Facebook("relationship_statuses") 1006 private List<Integer> relationshipStatuses = new ArrayList<>(); 1007 @Facebook("work_networks") 1008 private List<NamedFacebookType> workNetworks = new ArrayList<>(); 1009 1010 /** 1011 * Target people who majored in these college subjects. 1012 * 1013 * Limited to 200 college major values. Use type of adcollegemajor to find Targeting Options and use the returned 1014 * name to specify. 1015 * 1016 * @return list of college majors 1017 */ 1018 public List<String> getCollegeMajors() { 1019 return unmodifiableList(collegeMajors); 1020 } 1021 1022 public boolean addCollegeMajor(String collegeMajor) { 1023 return collegeMajors.add(collegeMajor); 1024 } 1025 1026 public boolean removeCollegeMajor(String collegeMajor) { 1027 return collegeMajors.remove(collegeMajor); 1028 } 1029 1030 /** 1031 * Colleges, for college graduates. 1032 * 1033 * Limit is 200 values. 1034 * 1035 * @return list of colleges 1036 */ 1037 public List<FacebookType> getCollegeNetworks() { 1038 return unmodifiableList(collegeNetworks); 1039 } 1040 1041 public boolean addCollegeNetwork(FacebookType collegeNetwork) { 1042 return collegeNetworks.add(collegeNetwork); 1043 } 1044 1045 public boolean removeCollegeNetwork(FacebookType collegeNetwork) { 1046 return collegeNetworks.remove(collegeNetwork); 1047 } 1048 1049 /** 1050 * Array of integers for graduation year from college. 1051 * 1052 * @return graduation year list 1053 */ 1054 public List<Integer> getCollegeYears() { 1055 return unmodifiableList(collegeYears); 1056 } 1057 1058 public boolean addCollegeYear(Integer collegeYear) { 1059 return collegeYears.add(collegeYear); 1060 } 1061 1062 public boolean removeCollegeYear(Integer collegeYear) { 1063 return collegeYears.remove(collegeYear); 1064 } 1065 1066 /** 1067 * Array of integers for targeting based on education level. 1068 * 1069 * Use 1 for high school, 2 for undergraduate, and 3 for alum (or localized equivalents). 1070 * 1071 * @return list of education levels 1072 */ 1073 public List<Integer> getEducationStatuses() { 1074 return unmodifiableList(educationStatuses); 1075 } 1076 1077 public boolean addEducationStatus(Integer educationStatus) { 1078 return educationStatuses.add(educationStatus); 1079 } 1080 1081 public boolean removeEducationStatus(Integer educationStatus) { 1082 return educationStatuses.remove(educationStatus); 1083 } 1084 1085 /** 1086 * List of object ids. 1087 * 1088 * the user should be fan of these objects (interests). 1089 * 1090 * @return list of object ids 1091 */ 1092 public List<String> getFanOf() { 1093 return unmodifiableList(fanOf); 1094 } 1095 1096 public boolean addFanOf(String interestId) { 1097 return fanOf.add(interestId); 1098 } 1099 1100 public boolean removeFanOf(String interestId) { 1101 return fanOf.remove(interestId); 1102 } 1103 1104 /** 1105 * Target specific genders. 1106 * 1107 * 1 targets all male viewers and 2 females. Default is to target both. 1108 * 1109 * @return list of genders 1110 */ 1111 public List<Integer> getGenders() { 1112 return unmodifiableList(genders); 1113 } 1114 1115 public boolean addGender(Integer gender) { 1116 return genders.add(gender); 1117 } 1118 1119 public boolean removeGender(Integer gender) { 1120 return genders.remove(gender); 1121 } 1122 1123 /** 1124 * Indicates targeting based on the 'interested in' field of the user profile. 1125 * 1126 * You can specify an integer of 1 to indicate male, 2 indicates female. Default is all types. 1127 * 1128 * Please note 'interested in' targeting is not available in France due to local laws. 1129 * 1130 * @return list of 'interested in' types 1131 */ 1132 public List<Integer> getInterestedIn() { 1133 return unmodifiableList(interestedIn); 1134 } 1135 1136 public boolean addInterestedIn(Integer interest) { 1137 return interestedIn.add(interest); 1138 } 1139 1140 public boolean removeInterestedIn(Integer interest) { 1141 return interestedIn.remove(interest); 1142 } 1143 1144 /** 1145 * Indicates targeting based on the 'interests' field of the user profile. 1146 * 1147 * @return list of 'interests' types 1148 */ 1149 public List<String> getInterests() { 1150 return unmodifiableList(interests); 1151 } 1152 1153 public boolean addInterests(String interest) { 1154 return interests.add(interest); 1155 } 1156 1157 public boolean removeInterests(String interest) { 1158 return interests.remove(interest); 1159 } 1160 1161 /** 1162 * Array of integers for targeting based on relationship status. 1163 * 1164 * Use 1 for single, 2 for 'in a relationship', 3 for married, and 4 for engaged. Default is all types. 1165 * 1166 * @return list of relationship statuses 1167 */ 1168 public List<Integer> getRelationshipStatuses() { 1169 return unmodifiableList(relationshipStatuses); 1170 } 1171 1172 public boolean addRelationshipStatus(Integer relationshipStatus) { 1173 return relationshipStatuses.add(relationshipStatus); 1174 } 1175 1176 public boolean removeRelationshipStatus(Integer relationshipStatus) { 1177 return relationshipStatuses.remove(relationshipStatus); 1178 } 1179 1180 /** 1181 * Company, organization, or other workplace. 1182 * 1183 * <b>Name</b>: Name of targeted workplace. Use type of adworkplace to find Targeting Options and use the returned 1184 * name to specify this. 1185 * 1186 * <b>Id</b>: Unique ID of targeted workplace. Use type of adworkplace to find Targeting Options and use the 1187 * returned key to specify this (must match paired name value). 1188 * 1189 * @return list of work networks 1190 */ 1191 public List<NamedFacebookType> getWorkNetworks() { 1192 return unmodifiableList(workNetworks); 1193 } 1194 1195 public boolean addWorkNetwork(NamedFacebookType workNetwork) { 1196 return workNetworks.add(workNetwork); 1197 } 1198 1199 public boolean removeWorkNetwork(NamedFacebookType workNetwork) { 1200 return workNetworks.remove(workNetwork); 1201 } 1202 1203 /** 1204 * Maximum age. 1205 */ 1206 @java.lang.SuppressWarnings("all") 1207 @lombok.Generated 1208 public Integer getAgeMax() { 1209 return this.ageMax; 1210 } 1211 1212 /** 1213 * Maximum age. 1214 */ 1215 @java.lang.SuppressWarnings("all") 1216 @lombok.Generated 1217 public void setAgeMax(final Integer ageMax) { 1218 this.ageMax = ageMax; 1219 } 1220 1221 /** 1222 * Must be 13 or higher. Default is 0 1223 */ 1224 @java.lang.SuppressWarnings("all") 1225 @lombok.Generated 1226 public Integer getAgeMin() { 1227 return this.ageMin; 1228 } 1229 1230 /** 1231 * Must be 13 or higher. Default is 0 1232 */ 1233 @java.lang.SuppressWarnings("all") 1234 @lombok.Generated 1235 public void setAgeMin(final Integer ageMin) { 1236 this.ageMin = ageMin; 1237 } 1238 1239 @java.lang.SuppressWarnings("all") 1240 @lombok.Generated 1241 public Date getRelevantUntilTs() { 1242 return this.relevantUntilTs; 1243 } 1244 1245 @java.lang.SuppressWarnings("all") 1246 @lombok.Generated 1247 public void setRelevantUntilTs(final Date relevantUntilTs) { 1248 this.relevantUntilTs = relevantUntilTs; 1249 } 1250 } 1251 1252 1253 /** 1254 * Represents the Shares included the <a href="http://developers.facebook.com/docs/reference/api/post">Post</a> 1255 * response. Presently only supports count. 1256 * 1257 * @since 1.6.11 1258 */ 1259 public static class Shares extends AbstractFacebookType { 1260 /** 1261 * The number of shares. 1262 */ 1263 @Facebook 1264 private Long count = 0L; 1265 private static final long serialVersionUID = 1L; 1266 1267 /** 1268 * The number of shares. 1269 * 1270 * @return The number of shares. 1271 */ 1272 @java.lang.SuppressWarnings("all") 1273 @lombok.Generated 1274 public Long getCount() { 1275 return this.count; 1276 } 1277 1278 /** 1279 * The number of shares. 1280 */ 1281 @java.lang.SuppressWarnings("all") 1282 @lombok.Generated 1283 public void setCount(final Long count) { 1284 this.count = count; 1285 } 1286 } 1287 1288 1289 /** 1290 * Represents the attachments included in<a href="http://developers.facebook.com/docs/reference/api/post">Graph API 1291 * Post type</a>. 1292 * 1293 * @author <a href="https://github.com/kevinleturc/">Kevin Leturc</a> 1294 * @since 1.12.0 1295 */ 1296 public static class Attachments extends AbstractFacebookType { 1297 /** 1298 * All media attachments associated with this post. 1299 * 1300 * @return All media attachments associated with this post. 1301 */ 1302 @Facebook 1303 private List<StoryAttachment> data = new ArrayList<>(); 1304 private static final long serialVersionUID = 1L; 1305 1306 /** 1307 * The attachments. 1308 * 1309 * @return The attachments. 1310 */ 1311 public List<StoryAttachment> getData() { 1312 return unmodifiableList(data); 1313 } 1314 1315 public boolean addData(StoryAttachment attachment) { 1316 return data.add(attachment); 1317 } 1318 1319 public boolean removeData(StoryAttachment attachment) { 1320 return data.remove(attachment); 1321 } 1322 } 1323 1324 /** 1325 * The number of likes on this post. 1326 * 1327 * @return The number of likes on this post. 1328 */ 1329 public Long getLikesCount() { 1330 if (getLikes() != null) { 1331 return getLikes().getTotalCount(); 1332 } 1333 return likesCount; 1334 } 1335 1336 /** 1337 * The number of reactions on this post. 1338 * 1339 * @return The number of reactions on this post. 1340 */ 1341 public Long getReactionsCount() { 1342 if (getReactions() != null) { 1343 return getReactions().getTotalCount(); 1344 } 1345 return 0L; 1346 } 1347 1348 /** 1349 * The number of shares of this post. 1350 * 1351 * @return The number of shares of this post. 1352 */ 1353 public Long getSharesCount() { 1354 if (shares != null) { 1355 return shares.getCount(); 1356 } 1357 return 0L; 1358 } 1359 1360 /** 1361 * The number of comments of this post. 1362 * 1363 * @return The number of comments of this post. 1364 */ 1365 public Long getCommentsCount() { 1366 if (comments != null) { 1367 return comments.getTotalCount(); 1368 } 1369 return 0L; 1370 } 1371 1372 /** 1373 * A list of the profiles mentioned or targeted in this post. 1374 * 1375 * @return A list of the profiles mentioned or targeted in this post. 1376 */ 1377 public List<NamedFacebookType> getTo() { 1378 return unmodifiableList(to); 1379 } 1380 1381 public boolean addTo(NamedFacebookType profile) { 1382 return to.add(profile); 1383 } 1384 1385 public boolean removeTo(NamedFacebookType profile) { 1386 return to.remove(profile); 1387 } 1388 1389 /** 1390 * A list of available action names and links (including commenting, liking, and an optional app-specified action). 1391 * 1392 * @return A list of available action names and links (including commenting, liking, and an optional app-specified 1393 * action). 1394 */ 1395 public List<Action> getActions() { 1396 return unmodifiableList(actions); 1397 } 1398 1399 public boolean addAction(Action action) { 1400 return actions.add(action); 1401 } 1402 1403 public boolean removeAction(Action action) { 1404 return actions.remove(action); 1405 } 1406 1407 /** 1408 * A list of properties for this post. 1409 * <p> 1410 * This field is undocumented. 1411 * 1412 * @return A list of properties for this post. 1413 */ 1414 public List<Property> getProperties() { 1415 return unmodifiableList(properties); 1416 } 1417 1418 public boolean addProperty(Property property) { 1419 return properties.add(property); 1420 } 1421 1422 public boolean removeProperty(Property property) { 1423 return properties.remove(property); 1424 } 1425 1426 /** 1427 * Objects tagged in the message (Users, Pages, etc). 1428 * 1429 * @return Objects tagged in the message (Users, Pages, etc). 1430 * @since 1.6.10 1431 */ 1432 public List<MessageTag> getMessageTags() { 1433 return unmodifiableList(messageTags); 1434 } 1435 1436 public void addMessageTag(MessageTag messageTag) { 1437 messageTags.add(messageTag); 1438 } 1439 1440 public void removeMessageTag(MessageTag messageTag) { 1441 messageTags.remove(messageTag); 1442 } 1443 1444 /** 1445 * Returns the {@link #getMessage() message} where tagged segments have been replaced with their mention syntax. 1446 * 1447 * @return normalized message text or the original message if it cannot be normalized 1448 */ 1449 public String getNormalizedMessage() { 1450 return MessageTagUtils.normalizeMessage(message, messageTags); 1451 } 1452 1453 /** 1454 * Objects tagged in the story (Users, Pages, etc). 1455 * 1456 * @return Objects tagged in the story (Users, Pages, etc). 1457 */ 1458 public List<MessageTag> getStoryTags() { 1459 return unmodifiableList(storyTags); 1460 } 1461 1462 public void addStoryTag(MessageTag messageTag) { 1463 storyTags.add(messageTag); 1464 } 1465 1466 public void removeStoryTag(MessageTag messageTag) { 1467 storyTags.remove(messageTag); 1468 } 1469 1470 /** 1471 * Sub-shares of a multi-link share post 1472 * 1473 * @return Sub-shares of a multi-link share post 1474 */ 1475 public List<Post> getChildAttachments() { 1476 return unmodifiableList(childAttachments); 1477 } 1478 1479 public void addChildAttachment(Post childAttachment) { 1480 childAttachments.add(childAttachment); 1481 } 1482 1483 public void removeChildAttachment(Post childAttachment) { 1484 childAttachments.remove(childAttachment); 1485 } 1486 1487 /** 1488 * A sponsor tag points to a Facebook Page. 1489 * 1490 * (Page owners can allow their business partners to directly boost their posts.) 1491 */ 1492 public List<NamedFacebookType> getSponsorTags() { 1493 return unmodifiableList(sponsorTags); 1494 } 1495 1496 public boolean addSponsorTag(NamedFacebookType sponsorTag) { 1497 return sponsorTags.add(sponsorTag); 1498 } 1499 1500 public boolean removeSponsorTag(NamedFacebookType sponsorTag) { 1501 return sponsorTags.remove(sponsorTag); 1502 } 1503 1504 /** 1505 * An object containing the ID and name of the user who posted the message. 1506 * 1507 * @return An object containing the ID and name of the user who posted the message. 1508 */ 1509 @java.lang.SuppressWarnings("all") 1510 @lombok.Generated 1511 public From getFrom() { 1512 return this.from; 1513 } 1514 1515 /** 1516 * An object containing the ID and name of the user who posted the message. 1517 */ 1518 @java.lang.SuppressWarnings("all") 1519 @lombok.Generated 1520 public void setFrom(final From from) { 1521 this.from = from; 1522 } 1523 1524 /** 1525 * Objectives under which this post can be advertised 1526 * 1527 * @return Objectives under which this post can be advertised 1528 */ 1529 @java.lang.SuppressWarnings("all") 1530 @lombok.Generated 1531 public String getAllowedAdvertisingObjects() { 1532 return this.allowedAdvertisingObjects; 1533 } 1534 1535 /** 1536 * Objectives under which this post can be advertised 1537 */ 1538 @java.lang.SuppressWarnings("all") 1539 @lombok.Generated 1540 public void setAllowedAdvertisingObjects(final String allowedAdvertisingObjects) { 1541 this.allowedAdvertisingObjects = allowedAdvertisingObjects; 1542 } 1543 1544 /** 1545 * Objectives under which this post can be advertised 1546 * 1547 * @return Objectives under which this post can be advertised 1548 */ 1549 @java.lang.SuppressWarnings("all") 1550 @lombok.Generated 1551 public List<String> getAllowedAdvertisingObjectives() { 1552 return this.allowedAdvertisingObjectives; 1553 } 1554 1555 /** 1556 * Objectives under which this post can be advertised 1557 */ 1558 @java.lang.SuppressWarnings("all") 1559 @lombok.Generated 1560 public void setAllowedAdvertisingObjectives(final List<String> allowedAdvertisingObjectives) { 1561 this.allowedAdvertisingObjectives = allowedAdvertisingObjectives; 1562 } 1563 1564 /** 1565 * The call to action type used in any Page posts for mobile app engagement ads 1566 */ 1567 @java.lang.SuppressWarnings("all") 1568 @lombok.Generated 1569 public PostCallToAction getCallToAction() { 1570 return this.callToAction; 1571 } 1572 1573 /** 1574 * The call to action type used in any Page posts for mobile app engagement ads 1575 */ 1576 @java.lang.SuppressWarnings("all") 1577 @lombok.Generated 1578 public void setCallToAction(final PostCallToAction callToAction) { 1579 this.callToAction = callToAction; 1580 } 1581 1582 /** 1583 * If comments are being mirrored to an external site, this function returns the domain of that external site. 1584 * 1585 * @return If comments are being mirrored to an external site, this function returns the domain of that external site. 1586 */ 1587 @java.lang.SuppressWarnings("all") 1588 @lombok.Generated 1589 public String getCommentsMirroringDomain() { 1590 return this.commentsMirroringDomain; 1591 } 1592 1593 /** 1594 * If comments are being mirrored to an external site, this function returns the domain of that external site. 1595 */ 1596 @java.lang.SuppressWarnings("all") 1597 @lombok.Generated 1598 public void setCommentsMirroringDomain(final String commentsMirroringDomain) { 1599 this.commentsMirroringDomain = commentsMirroringDomain; 1600 } 1601 1602 /** 1603 * The message. 1604 * 1605 * @return The message. 1606 */ 1607 @Override 1608 @java.lang.SuppressWarnings("all") 1609 @lombok.Generated 1610 public String getMessage() { 1611 return this.message; 1612 } 1613 1614 /** 1615 * The message. 1616 */ 1617 @java.lang.SuppressWarnings("all") 1618 @lombok.Generated 1619 public void setMessage(final String message) { 1620 this.message = message; 1621 } 1622 1623 /** 1624 * ID of the parent post 1625 * 1626 * @return ID of the parent post 1627 */ 1628 @java.lang.SuppressWarnings("all") 1629 @lombok.Generated 1630 public String getParentId() { 1631 return this.parentId; 1632 } 1633 1634 /** 1635 * ID of the parent post 1636 */ 1637 @java.lang.SuppressWarnings("all") 1638 @lombok.Generated 1639 public void setParentId(final String parentId) { 1640 this.parentId = parentId; 1641 } 1642 1643 /** 1644 * The permanent static URL to the post on www.facebook.com. 1645 * <p> 1646 * Example: https://www.facebook.com/FacebookforDevelopers/posts/10153449196353553 1647 * </p> 1648 * 1649 * @return The permanent static URL to the post on www.facebook.com. 1650 */ 1651 @java.lang.SuppressWarnings("all") 1652 @lombok.Generated 1653 public String getPermalinkUrl() { 1654 return this.permalinkUrl; 1655 } 1656 1657 /** 1658 * The permanent static URL to the post on www.facebook.com. 1659 * <p> 1660 * Example: https://www.facebook.com/FacebookforDevelopers/posts/10153449196353553 1661 * </p> 1662 */ 1663 @java.lang.SuppressWarnings("all") 1664 @lombok.Generated 1665 public void setPermalinkUrl(final String permalinkUrl) { 1666 this.permalinkUrl = permalinkUrl; 1667 } 1668 1669 /** 1670 * If available, a link to the picture included with this post. 1671 * 1672 * @return If available, a link to the picture included with this post. 1673 */ 1674 @java.lang.SuppressWarnings("all") 1675 @lombok.Generated 1676 public String getPicture() { 1677 return this.picture; 1678 } 1679 1680 /** 1681 * If available, a link to the picture included with this post. 1682 */ 1683 @java.lang.SuppressWarnings("all") 1684 @lombok.Generated 1685 public void setPicture(final String picture) { 1686 this.picture = picture; 1687 } 1688 1689 /** 1690 * The link attached to this post. 1691 * 1692 * Hint for Graph API 3.3: Use <code>attachment/url_unshimmed</code> instead 1693 * 1694 * @return The link attached to this post. 1695 */ 1696 @GraphAPI(until = "3.2") 1697 @java.lang.SuppressWarnings("all") 1698 @lombok.Generated 1699 public String getLink() { 1700 return this.link; 1701 } 1702 1703 /** 1704 * The link attached to this post. 1705 * 1706 * Hint for Graph API 3.3: Use <code>attachment/url_unshimmed</code> instead 1707 */ 1708 @java.lang.SuppressWarnings("all") 1709 @lombok.Generated 1710 public void setLink(final String link) { 1711 this.link = link; 1712 } 1713 1714 /** 1715 * The name of the link. 1716 * 1717 * Hint for Graph API 3.3: Use <code>attachment/title</code> instead 1718 * 1719 * @return The name of the link. 1720 */ 1721 @GraphAPI(until = "3.2") 1722 @java.lang.SuppressWarnings("all") 1723 @lombok.Generated 1724 public String getName() { 1725 return this.name; 1726 } 1727 1728 /** 1729 * The name of the link. 1730 * 1731 * Hint for Graph API 3.3: Use <code>attachment/title</code> instead 1732 */ 1733 @java.lang.SuppressWarnings("all") 1734 @lombok.Generated 1735 public void setName(final String name) { 1736 this.name = name; 1737 } 1738 1739 /** 1740 * The caption of the link (appears beneath the link name). 1741 * 1742 * Hint for Graph API 3.3: Use <code>attachment/title</code> instead 1743 * 1744 * @return The caption of the link (appears beneath the link name). 1745 */ 1746 @GraphAPI(until = "3.2") 1747 @java.lang.SuppressWarnings("all") 1748 @lombok.Generated 1749 public String getCaption() { 1750 return this.caption; 1751 } 1752 1753 /** 1754 * The caption of the link (appears beneath the link name). 1755 * 1756 * Hint for Graph API 3.3: Use <code>attachment/title</code> instead 1757 */ 1758 @java.lang.SuppressWarnings("all") 1759 @lombok.Generated 1760 public void setCaption(final String caption) { 1761 this.caption = caption; 1762 } 1763 1764 /** 1765 * A description of the link (appears beneath the link caption). 1766 * 1767 * Hint for Graph API 3.3: Use <code>attachment/description</code> instead 1768 * 1769 * @return A description of the link (appears beneath the link caption). 1770 */ 1771 @GraphAPI(until = "3.2") 1772 @java.lang.SuppressWarnings("all") 1773 @lombok.Generated 1774 public String getDescription() { 1775 return this.description; 1776 } 1777 1778 /** 1779 * A description of the link (appears beneath the link caption). 1780 * 1781 * Hint for Graph API 3.3: Use <code>attachment/description</code> instead 1782 */ 1783 @java.lang.SuppressWarnings("all") 1784 @lombok.Generated 1785 public void setDescription(final String description) { 1786 this.description = description; 1787 } 1788 1789 /** 1790 * If this Post has a place, the event associated with the place 1791 */ 1792 @java.lang.SuppressWarnings("all") 1793 @lombok.Generated 1794 public Event getEvent() { 1795 return this.event; 1796 } 1797 1798 /** 1799 * If this Post has a place, the event associated with the place 1800 */ 1801 @java.lang.SuppressWarnings("all") 1802 @lombok.Generated 1803 public void setEvent(final Event event) { 1804 this.event = event; 1805 } 1806 1807 @java.lang.SuppressWarnings("all") 1808 @lombok.Generated 1809 public Long getExpandedHeight() { 1810 return this.expandedHeight; 1811 } 1812 1813 @java.lang.SuppressWarnings("all") 1814 @lombok.Generated 1815 public void setExpandedHeight(final Long expandedHeight) { 1816 this.expandedHeight = expandedHeight; 1817 } 1818 1819 @java.lang.SuppressWarnings("all") 1820 @lombok.Generated 1821 public Long getHeight() { 1822 return this.height; 1823 } 1824 1825 @java.lang.SuppressWarnings("all") 1826 @lombok.Generated 1827 public void setHeight(final Long height) { 1828 this.height = height; 1829 } 1830 1831 @java.lang.SuppressWarnings("all") 1832 @lombok.Generated 1833 public Long getExpandedWidth() { 1834 return this.expandedWidth; 1835 } 1836 1837 @java.lang.SuppressWarnings("all") 1838 @lombok.Generated 1839 public void setExpandedWidth(final Long expandedWidth) { 1840 this.expandedWidth = expandedWidth; 1841 } 1842 1843 @java.lang.SuppressWarnings("all") 1844 @lombok.Generated 1845 public Long getWidth() { 1846 return this.width; 1847 } 1848 1849 @java.lang.SuppressWarnings("all") 1850 @lombok.Generated 1851 public void setWidth(final Long width) { 1852 this.width = width; 1853 } 1854 1855 @java.lang.SuppressWarnings("all") 1856 @lombok.Generated 1857 public List<String> getVideoBuyingEligibility() { 1858 return this.videoBuyingEligibility; 1859 } 1860 1861 @java.lang.SuppressWarnings("all") 1862 @lombok.Generated 1863 public void setVideoBuyingEligibility(final List<String> videoBuyingEligibility) { 1864 this.videoBuyingEligibility = videoBuyingEligibility; 1865 } 1866 1867 /** 1868 * If available, the source link attached to this post (for example, a flash or video file). 1869 * 1870 * Hint for Graph API 3.3: Use <code>attachment/media/source</code> instead 1871 * 1872 * @return If available, the source link attached to this post (for example, a flash or video file). 1873 */ 1874 @GraphAPI(until = "3.2") 1875 @java.lang.SuppressWarnings("all") 1876 @lombok.Generated 1877 public String getSource() { 1878 return this.source; 1879 } 1880 1881 /** 1882 * If available, the source link attached to this post (for example, a flash or video file). 1883 * 1884 * Hint for Graph API 3.3: Use <code>attachment/media/source</code> instead 1885 */ 1886 @java.lang.SuppressWarnings("all") 1887 @lombok.Generated 1888 public void setSource(final String source) { 1889 this.source = source; 1890 } 1891 1892 /** 1893 * The application used to create this post. 1894 * 1895 * @return The application used to create this post. 1896 */ 1897 @java.lang.SuppressWarnings("all") 1898 @lombok.Generated 1899 public NamedFacebookType getApplication() { 1900 return this.application; 1901 } 1902 1903 /** 1904 * The application used to create this post. 1905 */ 1906 @java.lang.SuppressWarnings("all") 1907 @lombok.Generated 1908 public void setApplication(final NamedFacebookType application) { 1909 this.application = application; 1910 } 1911 1912 /** 1913 * The backdated time for backdate post. For regular post, this field will be set to null. 1914 */ 1915 @java.lang.SuppressWarnings("all") 1916 @lombok.Generated 1917 public Date getBackdatedTime() { 1918 return this.backdatedTime; 1919 } 1920 1921 /** 1922 * The backdated time for backdate post. For regular post, this field will be set to null. 1923 */ 1924 @java.lang.SuppressWarnings("all") 1925 @lombok.Generated 1926 public void setBackdatedTime(final Date backdatedTime) { 1927 this.backdatedTime = backdatedTime; 1928 } 1929 1930 /** 1931 * Information about the attachment to the post. 1932 */ 1933 @java.lang.SuppressWarnings("all") 1934 @lombok.Generated 1935 public Coordinates getCoordinates() { 1936 return this.coordinates; 1937 } 1938 1939 /** 1940 * Information about the attachment to the post. 1941 */ 1942 @java.lang.SuppressWarnings("all") 1943 @lombok.Generated 1944 public void setCoordinates(final Coordinates coordinates) { 1945 this.coordinates = coordinates; 1946 } 1947 1948 /** 1949 * A link to an icon representing the type of this post. 1950 * 1951 * @return A link to an icon representing the type of this post. 1952 */ 1953 @java.lang.SuppressWarnings("all") 1954 @lombok.Generated 1955 public String getIcon() { 1956 return this.icon; 1957 } 1958 1959 /** 1960 * A link to an icon representing the type of this post. 1961 */ 1962 @java.lang.SuppressWarnings("all") 1963 @lombok.Generated 1964 public void setIcon(final String icon) { 1965 this.icon = icon; 1966 } 1967 1968 /** 1969 * The privacy settings for this post. 1970 * 1971 * @return The privacy settings for this post. 1972 */ 1973 @java.lang.SuppressWarnings("all") 1974 @lombok.Generated 1975 public Privacy getPrivacy() { 1976 return this.privacy; 1977 } 1978 1979 /** 1980 * The privacy settings for this post. 1981 */ 1982 @java.lang.SuppressWarnings("all") 1983 @lombok.Generated 1984 public void setPrivacy(final Privacy privacy) { 1985 this.privacy = privacy; 1986 } 1987 1988 /** 1989 * ID of post to use for promotion for stories that cannot be promoted directly 1990 */ 1991 @java.lang.SuppressWarnings("all") 1992 @lombok.Generated 1993 public String getPromotableId() { 1994 return this.promotableId; 1995 } 1996 1997 /** 1998 * ID of post to use for promotion for stories that cannot be promoted directly 1999 */ 2000 @java.lang.SuppressWarnings("all") 2001 @lombok.Generated 2002 public void setPromotableId(final String promotableId) { 2003 this.promotableId = promotableId; 2004 } 2005 2006 /** 2007 * Status of the promotion, if the post was promoted. 2008 * 2009 * @return Status of the promotion, if the post was promoted 2010 */ 2011 @java.lang.SuppressWarnings("all") 2012 @lombok.Generated 2013 public String getPromotionStatus() { 2014 return this.promotionStatus; 2015 } 2016 2017 /** 2018 * Status of the promotion, if the post was promoted. 2019 */ 2020 @java.lang.SuppressWarnings("all") 2021 @lombok.Generated 2022 public void setPromotionStatus(final String promotionStatus) { 2023 this.promotionStatus = promotionStatus; 2024 } 2025 2026 /** 2027 * Object that controls news feed targeting for this post. 2028 * 2029 * To force Facebook to fill the <code>feed_targeting</code> field you have to fetch the post with the 2030 * <code>fields=feed_targeting</code> parameter, otherwise the feedTargeting is <code>null</code>. 2031 * 2032 * 2033 * @since 1.11.0 2034 */ 2035 @java.lang.SuppressWarnings("all") 2036 @lombok.Generated 2037 public FeedTargeting getFeedTargeting() { 2038 return this.feedTargeting; 2039 } 2040 2041 /** 2042 * Object that controls news feed targeting for this post. 2043 * 2044 * To force Facebook to fill the <code>feed_targeting</code> field you have to fetch the post with the 2045 * <code>fields=feed_targeting</code> parameter, otherwise the feedTargeting is <code>null</code>. 2046 * 2047 * 2048 * @since 1.11.0 2049 */ 2050 @java.lang.SuppressWarnings("all") 2051 @lombok.Generated 2052 public void setFeedTargeting(final FeedTargeting feedTargeting) { 2053 this.feedTargeting = feedTargeting; 2054 } 2055 2056 /** 2057 * Whether the viewer can send a private reply to this post (Page viewers only) 2058 * 2059 * @return Whether the viewer can send a private reply to this post 2060 */ 2061 @GraphAPI(since = "2.5") 2062 @java.lang.SuppressWarnings("all") 2063 @lombok.Generated 2064 public Boolean getCanReplyPrivately() { 2065 return this.canReplyPrivately; 2066 } 2067 2068 /** 2069 * Whether the viewer can send a private reply to this post (Page viewers only) 2070 */ 2071 @java.lang.SuppressWarnings("all") 2072 @lombok.Generated 2073 public void setCanReplyPrivately(final Boolean canReplyPrivately) { 2074 this.canReplyPrivately = canReplyPrivately; 2075 } 2076 2077 /** 2078 * The profile this was posted on if different from the author. 2079 * 2080 * @return The profile this was posted on if different from the author 2081 */ 2082 @GraphAPI(since = "2.5") 2083 @java.lang.SuppressWarnings("all") 2084 @lombok.Generated 2085 public NamedFacebookType getTarget() { 2086 return this.target; 2087 } 2088 2089 /** 2090 * The profile this was posted on if different from the author. 2091 */ 2092 @java.lang.SuppressWarnings("all") 2093 @lombok.Generated 2094 public void setTarget(final NamedFacebookType target) { 2095 this.target = target; 2096 } 2097 2098 /** 2099 * Ads targeting information of the post. 2100 * 2101 * @return Ads targeting information of the post 2102 */ 2103 @java.lang.SuppressWarnings("all") 2104 @lombok.Generated 2105 public Targeting getTargeting() { 2106 return this.targeting; 2107 } 2108 2109 /** 2110 * Ads targeting information of the post. 2111 */ 2112 @java.lang.SuppressWarnings("all") 2113 @lombok.Generated 2114 public void setTargeting(final Targeting targeting) { 2115 this.targeting = targeting; 2116 } 2117 2118 /** 2119 * Timeline visibility information of the post. 2120 * 2121 * @return timeline visibility information of the post 2122 */ 2123 @java.lang.SuppressWarnings("all") 2124 @lombok.Generated 2125 public String getTimelineVisibility() { 2126 return this.timelineVisibility; 2127 } 2128 2129 /** 2130 * Timeline visibility information of the post. 2131 */ 2132 @java.lang.SuppressWarnings("all") 2133 @lombok.Generated 2134 public void setTimelineVisibility(final String timelineVisibility) { 2135 this.timelineVisibility = timelineVisibility; 2136 } 2137 2138 /** 2139 * Duplicate mapping for "likes" since FB can return it differently in different situations. 2140 * 2141 * -- GETTER -- The likes on this post. 2142 * <p> 2143 * Sometimes this can be {@code null} - check {@link #getLikesCount()} instead in that case. 2144 * 2145 * @return The likes on this post. 2146 */ 2147 @java.lang.SuppressWarnings("all") 2148 @lombok.Generated 2149 public Likes getLikes() { 2150 return this.likes; 2151 } 2152 2153 /** 2154 * Duplicate mapping for "likes" since FB can return it differently in different situations. 2155 * 2156 * -- GETTER -- The likes on this post. 2157 * <p> 2158 * Sometimes this can be {@code null} - check {@link #getLikesCount()} instead in that case. 2159 */ 2160 @java.lang.SuppressWarnings("all") 2161 @lombok.Generated 2162 public void setLikes(final Likes likes) { 2163 this.likes = likes; 2164 } 2165 2166 /** 2167 * The time the post was initially published. 2168 * 2169 * @return The time the post was initially published. 2170 */ 2171 @Override 2172 @java.lang.SuppressWarnings("all") 2173 @lombok.Generated 2174 public Date getCreatedTime() { 2175 return this.createdTime; 2176 } 2177 2178 /** 2179 * The time the post was initially published. 2180 */ 2181 @java.lang.SuppressWarnings("all") 2182 @lombok.Generated 2183 public void setCreatedTime(final Date createdTime) { 2184 this.createdTime = createdTime; 2185 } 2186 2187 /** 2188 * The time of the last comment on this post. 2189 * 2190 * @return The time of the last comment on this post. 2191 */ 2192 @java.lang.SuppressWarnings("all") 2193 @lombok.Generated 2194 public Date getUpdatedTime() { 2195 return this.updatedTime; 2196 } 2197 2198 /** 2199 * The time of the last comment on this post. 2200 */ 2201 @java.lang.SuppressWarnings("all") 2202 @lombok.Generated 2203 public void setUpdatedTime(final Date updatedTime) { 2204 this.updatedTime = updatedTime; 2205 } 2206 2207 /** 2208 * This field is available on tagged Posts. 2209 * 2210 * @return The tagging Date of the Post 2211 */ 2212 @java.lang.SuppressWarnings("all") 2213 @lombok.Generated 2214 public Date getTaggedTime() { 2215 return this.taggedTime; 2216 } 2217 2218 /** 2219 * This field is available on tagged Posts. 2220 */ 2221 @java.lang.SuppressWarnings("all") 2222 @lombok.Generated 2223 public void setTaggedTime(final Date taggedTime) { 2224 this.taggedTime = taggedTime; 2225 } 2226 2227 /** 2228 * The Facebook object id for an uploaded photo or video. 2229 * 2230 * Hint for Graph API 3.3: Use <code>attachment/target/id</code> instead 2231 * 2232 * @return The Facebook object id for an uploaded photo or video. 2233 * @since 1.6.5 2234 */ 2235 @GraphAPI(until = "3.2") 2236 @java.lang.SuppressWarnings("all") 2237 @lombok.Generated 2238 public String getObjectId() { 2239 return this.objectId; 2240 } 2241 2242 /** 2243 * The Facebook object id for an uploaded photo or video. 2244 * 2245 * Hint for Graph API 3.3: Use <code>attachment/target/id</code> instead 2246 * 2247 * @since 1.6.5 2248 */ 2249 @java.lang.SuppressWarnings("all") 2250 @lombok.Generated 2251 public void setObjectId(final String objectId) { 2252 this.objectId = objectId; 2253 } 2254 2255 /** 2256 * The {@code status_type} of post this is, for example {@code "approved_friend"}. 2257 * 2258 * @return The {@code status_type} of post this is, for example {@code "approved_friend"}. 2259 * @since 1.6.12 2260 */ 2261 @java.lang.SuppressWarnings("all") 2262 @lombok.Generated 2263 public String getStatusType() { 2264 return this.statusType; 2265 } 2266 2267 /** 2268 * The {@code status_type} of post this is, for example {@code "approved_friend"}. 2269 * 2270 * @since 1.6.12 2271 */ 2272 @java.lang.SuppressWarnings("all") 2273 @lombok.Generated 2274 public void setStatusType(final String statusType) { 2275 this.statusType = statusType; 2276 } 2277 2278 /** 2279 * Text from stories not intentionally generated by users 2280 * 2281 * @return Text from stories not intentionally generated by users 2282 * @since 1.6.16 2283 */ 2284 @java.lang.SuppressWarnings("all") 2285 @lombok.Generated 2286 public String getStory() { 2287 return this.story; 2288 } 2289 2290 /** 2291 * Text from stories not intentionally generated by users 2292 * 2293 * @since 1.6.16 2294 */ 2295 @java.lang.SuppressWarnings("all") 2296 @lombok.Generated 2297 public void setStory(final String story) { 2298 this.story = story; 2299 } 2300 2301 /** 2302 * The comments for this post. 2303 * 2304 * @return The comments for this post. 2305 */ 2306 @Override 2307 @java.lang.SuppressWarnings("all") 2308 @lombok.Generated 2309 public Comments getComments() { 2310 return this.comments; 2311 } 2312 2313 /** 2314 * The comments for this post. 2315 */ 2316 @java.lang.SuppressWarnings("all") 2317 @lombok.Generated 2318 public void setComments(final Comments comments) { 2319 this.comments = comments; 2320 } 2321 2322 /** 2323 * The reactions for this post. 2324 * 2325 * @return The reactions for this post. 2326 */ 2327 @java.lang.SuppressWarnings("all") 2328 @lombok.Generated 2329 public Reactions getReactions() { 2330 return this.reactions; 2331 } 2332 2333 /** 2334 * The reactions for this post. 2335 */ 2336 @java.lang.SuppressWarnings("all") 2337 @lombok.Generated 2338 public void setReactions(final Reactions reactions) { 2339 this.reactions = reactions; 2340 } 2341 2342 /** 2343 * The place where this post occurred. 2344 * 2345 * @return The place where this post occurred. 2346 * @since 1.6.8 2347 */ 2348 @java.lang.SuppressWarnings("all") 2349 @lombok.Generated 2350 public Place getPlace() { 2351 return this.place; 2352 } 2353 2354 /** 2355 * The place where this post occurred. 2356 * 2357 * @since 1.6.8 2358 */ 2359 @java.lang.SuppressWarnings("all") 2360 @lombok.Generated 2361 public void setPlace(final Place place) { 2362 this.place = place; 2363 } 2364 2365 @java.lang.SuppressWarnings("all") 2366 @lombok.Generated 2367 public Connection<Insight> getInsights() { 2368 return this.insights; 2369 } 2370 2371 @java.lang.SuppressWarnings("all") 2372 @lombok.Generated 2373 public void setInsights(final Connection<Insight> insights) { 2374 this.insights = insights; 2375 } 2376 2377 /** 2378 * UNIX timestamp of the scheduled publish time for the post. 2379 * 2380 * @return UNIX timestamp of the scheduled publish time for the post 2381 */ 2382 @java.lang.SuppressWarnings("all") 2383 @lombok.Generated 2384 public Date getScheduledPublishTime() { 2385 return this.scheduledPublishTime; 2386 } 2387 2388 /** 2389 * UNIX timestamp of the scheduled publish time for the post. 2390 */ 2391 @java.lang.SuppressWarnings("all") 2392 @lombok.Generated 2393 public void setScheduledPublishTime(final Date scheduledPublishTime) { 2394 this.scheduledPublishTime = scheduledPublishTime; 2395 } 2396 2397 /** 2398 * Number of times the post has been shared. 2399 * 2400 * @return Number of times the post has been shared 2401 */ 2402 @java.lang.SuppressWarnings("all") 2403 @lombok.Generated 2404 public Shares getShares() { 2405 return this.shares; 2406 } 2407 2408 /** 2409 * Number of times the post has been shared. 2410 */ 2411 @java.lang.SuppressWarnings("all") 2412 @lombok.Generated 2413 public void setShares(final Shares shares) { 2414 this.shares = shares; 2415 } 2416 2417 /** 2418 * ID of admin who created the post. 2419 * 2420 * Applies to pages only 2421 * 2422 * @return ID of admin who created the post. 2423 * @since 1.10.0 2424 */ 2425 @java.lang.SuppressWarnings("all") 2426 @lombok.Generated 2427 public NamedFacebookType getAdminCreator() { 2428 return this.adminCreator; 2429 } 2430 2431 /** 2432 * ID of admin who created the post. 2433 * 2434 * Applies to pages only 2435 * 2436 * @since 1.10.0 2437 */ 2438 @java.lang.SuppressWarnings("all") 2439 @lombok.Generated 2440 public void setAdminCreator(final NamedFacebookType adminCreator) { 2441 this.adminCreator = adminCreator; 2442 } 2443 2444 /** 2445 * Whether the post can be promoted on Instagram. 2446 * <p> 2447 * It returns the enum <code>eligible</code> if it can be promoted. Otherwise it returns an enum for why it cannot be 2448 * promoted 2449 * </p> 2450 * 2451 * @return Whether the post can be promoted on Instagram 2452 */ 2453 @java.lang.SuppressWarnings("all") 2454 @lombok.Generated 2455 public String getInstagramEligibility() { 2456 return this.instagramEligibility; 2457 } 2458 2459 /** 2460 * Whether the post can be promoted on Instagram. 2461 * <p> 2462 * It returns the enum <code>eligible</code> if it can be promoted. Otherwise it returns an enum for why it cannot be 2463 * promoted 2464 * </p> 2465 */ 2466 @java.lang.SuppressWarnings("all") 2467 @lombok.Generated 2468 public void setInstagramEligibility(final String instagramEligibility) { 2469 this.instagramEligibility = instagramEligibility; 2470 } 2471 2472 /** 2473 * Whether or not the post references an app. 2474 * 2475 * @return Whether or not the post references an app 2476 */ 2477 @java.lang.SuppressWarnings("all") 2478 @lombok.Generated 2479 public Boolean getIsAppShare() { 2480 return this.isAppShare; 2481 } 2482 2483 /** 2484 * Whether or not the post references an app. 2485 */ 2486 @java.lang.SuppressWarnings("all") 2487 @lombok.Generated 2488 public void setIsAppShare(final Boolean isAppShare) { 2489 this.isAppShare = isAppShare; 2490 } 2491 2492 @java.lang.SuppressWarnings("all") 2493 @lombok.Generated 2494 public Boolean getIsEligibleForPromotion() { 2495 return this.isEligibleForPromotion; 2496 } 2497 2498 @java.lang.SuppressWarnings("all") 2499 @lombok.Generated 2500 public void setIsEligibleForPromotion(final Boolean isEligibleForPromotion) { 2501 this.isEligibleForPromotion = isEligibleForPromotion; 2502 } 2503 2504 /** 2505 * Whether the post has expiration time that has passed 2506 * 2507 * @return Whether the post has expiration time that has passed 2508 */ 2509 @java.lang.SuppressWarnings("all") 2510 @lombok.Generated 2511 public Boolean getIsExpired() { 2512 return this.isExpired; 2513 } 2514 2515 /** 2516 * Whether the post has expiration time that has passed 2517 */ 2518 @java.lang.SuppressWarnings("all") 2519 @lombok.Generated 2520 public void setIsExpired(final Boolean isExpired) { 2521 this.isExpired = isExpired; 2522 } 2523 2524 @java.lang.SuppressWarnings("all") 2525 @lombok.Generated 2526 public Boolean getIsFbLiveVideos() { 2527 return this.isFbLiveVideos; 2528 } 2529 2530 @java.lang.SuppressWarnings("all") 2531 @lombok.Generated 2532 public void setIsFbLiveVideos(final Boolean isFbLiveVideos) { 2533 this.isFbLiveVideos = isFbLiveVideos; 2534 } 2535 2536 /** 2537 * If this post is marked as hidden (applies to Pages only). 2538 * 2539 * @since 1.10.0 2540 * @return if this post is marked as hidden 2541 */ 2542 @java.lang.SuppressWarnings("all") 2543 @lombok.Generated 2544 public Boolean getIsHidden() { 2545 return this.isHidden; 2546 } 2547 2548 /** 2549 * If this post is marked as hidden (applies to Pages only). 2550 * 2551 * @since 1.10.0 2552 */ 2553 @java.lang.SuppressWarnings("all") 2554 @lombok.Generated 2555 public void setIsHidden(final Boolean isHidden) { 2556 this.isHidden = isHidden; 2557 } 2558 2559 /** 2560 * Returns True if the post was created inline when creating ads. 2561 */ 2562 @java.lang.SuppressWarnings("all") 2563 @lombok.Generated 2564 public Boolean getIsInlineCreated() { 2565 return this.isInlineCreated; 2566 } 2567 2568 /** 2569 * Returns True if the post was created inline when creating ads. 2570 */ 2571 @java.lang.SuppressWarnings("all") 2572 @lombok.Generated 2573 public void setIsInlineCreated(final Boolean isInlineCreated) { 2574 this.isInlineCreated = isInlineCreated; 2575 } 2576 2577 /** 2578 * Whether this post can be promoted in Instagram. 2579 * 2580 * @return Whether this post can be promoted in Instagram 2581 */ 2582 @java.lang.SuppressWarnings("all") 2583 @lombok.Generated 2584 public Boolean getIsInstagramEligible() { 2585 return this.isInstagramEligible; 2586 } 2587 2588 /** 2589 * Whether this post can be promoted in Instagram. 2590 */ 2591 @java.lang.SuppressWarnings("all") 2592 @lombok.Generated 2593 public void setIsInstagramEligible(final Boolean isInstagramEligible) { 2594 this.isInstagramEligible = isInstagramEligible; 2595 } 2596 2597 /** 2598 * Whether the post is currently popular. 2599 * 2600 * Based on whether the total actions as a percentage of reach exceeds a certain threshold 2601 * 2602 * @return Whether the post is currently popular 2603 */ 2604 @java.lang.SuppressWarnings("all") 2605 @lombok.Generated 2606 public Boolean getIsPopular() { 2607 return this.isPopular; 2608 } 2609 2610 /** 2611 * Whether the post is currently popular. 2612 * 2613 * Based on whether the total actions as a percentage of reach exceeds a certain threshold 2614 */ 2615 @java.lang.SuppressWarnings("all") 2616 @lombok.Generated 2617 public void setIsPopular(final Boolean isPopular) { 2618 this.isPopular = isPopular; 2619 } 2620 2621 /** 2622 * Indicates whether a scheduled post was published. (applies to scheduled Page Post only, for users post and 2623 * instantly published posts this value is always <code>true</code>) 2624 * 2625 * @since 1.10.0 2626 * @return indicates whether a scheduled post was published 2627 */ 2628 @java.lang.SuppressWarnings("all") 2629 @lombok.Generated 2630 public Boolean getIsPublished() { 2631 return this.isPublished; 2632 } 2633 2634 /** 2635 * Indicates whether a scheduled post was published. (applies to scheduled Page Post only, for users post and 2636 * instantly published posts this value is always <code>true</code>) 2637 * 2638 * @since 1.10.0 2639 */ 2640 @java.lang.SuppressWarnings("all") 2641 @lombok.Generated 2642 public void setIsPublished(final Boolean isPublished) { 2643 this.isPublished = isPublished; 2644 } 2645 2646 /** 2647 * Whether the post is a spherical video post. 2648 * 2649 * @return Whether the post is a spherical video post 2650 */ 2651 @java.lang.SuppressWarnings("all") 2652 @lombok.Generated 2653 public Boolean getIsSpherical() { 2654 return this.isSpherical; 2655 } 2656 2657 /** 2658 * Whether the post is a spherical video post. 2659 */ 2660 @java.lang.SuppressWarnings("all") 2661 @lombok.Generated 2662 public void setIsSpherical(final Boolean isSpherical) { 2663 this.isSpherical = isSpherical; 2664 } 2665 2666 /** 2667 * Whether user is subscribed to the post. 2668 */ 2669 @java.lang.SuppressWarnings("all") 2670 @lombok.Generated 2671 public Boolean getSubscribed() { 2672 return this.subscribed; 2673 } 2674 2675 /** 2676 * Whether user is subscribed to the post. 2677 */ 2678 @java.lang.SuppressWarnings("all") 2679 @lombok.Generated 2680 public void setSubscribed(final Boolean subscribed) { 2681 this.subscribed = subscribed; 2682 } 2683 2684 /** 2685 * Whether display the end card for a multi-link share post 2686 */ 2687 @java.lang.SuppressWarnings("all") 2688 @lombok.Generated 2689 public Boolean getMultiShareEndCard() { 2690 return this.multiShareEndCard; 2691 } 2692 2693 /** 2694 * Whether display the end card for a multi-link share post 2695 */ 2696 @java.lang.SuppressWarnings("all") 2697 @lombok.Generated 2698 public void setMultiShareEndCard(final Boolean multiShareEndCard) { 2699 this.multiShareEndCard = multiShareEndCard; 2700 } 2701 2702 /** 2703 * Whether automatically select the order of the links in multi-link share post when used in an ad 2704 */ 2705 @java.lang.SuppressWarnings("all") 2706 @lombok.Generated 2707 public Boolean getMultiShareOptimized() { 2708 return this.multiShareOptimized; 2709 } 2710 2711 /** 2712 * Whether automatically select the order of the links in multi-link share post when used in an ad 2713 */ 2714 @java.lang.SuppressWarnings("all") 2715 @lombok.Generated 2716 public void setMultiShareOptimized(final Boolean multiShareOptimized) { 2717 this.multiShareOptimized = multiShareOptimized; 2718 } 2719 2720 /** 2721 * Attachments added to a post. 2722 * 2723 * To force Facebook to fill the <code>attachments</code> field you have to fetch the post with the 2724 * <code>fields=attachments</code> parameter, otherwise the attachments are <code>null</code>. 2725 * 2726 * @return Attachment on the post 2727 */ 2728 @java.lang.SuppressWarnings("all") 2729 @lombok.Generated 2730 public Attachments getAttachments() { 2731 return this.attachments; 2732 } 2733 2734 /** 2735 * Attachments added to a post. 2736 * 2737 * To force Facebook to fill the <code>attachments</code> field you have to fetch the post with the 2738 * <code>fields=attachments</code> parameter, otherwise the attachments are <code>null</code>. 2739 */ 2740 @java.lang.SuppressWarnings("all") 2741 @lombok.Generated 2742 public void setAttachments(final Attachments attachments) { 2743 this.attachments = attachments; 2744 } 2745 2746 /** 2747 * Full picture URL. 2748 * 2749 * you get the url to this posts full picture. 2750 * 2751 * To force Facebook to fill the <code>full_picture</code> field you have to fetch the post with the 2752 * <code>fields=full_picture</code> parameter, otherwise the full_picture is <code>null</code>. 2753 * 2754 * @return String representing the url to the post's full picture 2755 */ 2756 @java.lang.SuppressWarnings("all") 2757 @lombok.Generated 2758 public String getFullPicture() { 2759 return this.fullPicture; 2760 } 2761 2762 /** 2763 * Full picture URL. 2764 * 2765 * you get the url to this posts full picture. 2766 * 2767 * To force Facebook to fill the <code>full_picture</code> field you have to fetch the post with the 2768 * <code>fields=full_picture</code> parameter, otherwise the full_picture is <code>null</code>. 2769 */ 2770 @java.lang.SuppressWarnings("all") 2771 @lombok.Generated 2772 public void setFullPicture(final String fullPicture) { 2773 this.fullPicture = fullPicture; 2774 } 2775 2776 /** 2777 * ID of the user or Page the post was shared from 2778 */ 2779 @java.lang.SuppressWarnings("all") 2780 @lombok.Generated 2781 public String getVia() { 2782 return this.via; 2783 } 2784 2785 /** 2786 * ID of the user or Page the post was shared from 2787 */ 2788 @java.lang.SuppressWarnings("all") 2789 @lombok.Generated 2790 public void setVia(final String via) { 2791 this.via = via; 2792 } 2793}