001// Generated by delombok at Mon Oct 20 21:18:34 UTC 2025 002/* 003 * Copyright (c) 2010-2025 Mark Allen, Norbert Bartels. 004 * 005 * Permission is hereby granted, free of charge, to any person obtaining a copy 006 * of this software and associated documentation files (the "Software"), to deal 007 * in the Software without restriction, including without limitation the rights 008 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 009 * copies of the Software, and to permit persons to whom the Software is 010 * furnished to do so, subject to the following conditions: 011 * 012 * The above copyright notice and this permission notice shall be included in 013 * all copies or substantial portions of the Software. 014 * 015 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 016 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 017 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 018 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 019 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 020 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 021 * THE SOFTWARE. 022 */ 023package com.restfb.types; 024 025import static java.util.Collections.unmodifiableList; 026import java.util.ArrayList; 027import java.util.Date; 028import java.util.List; 029import com.restfb.Facebook; 030import com.restfb.JsonMapper.JsonMappingCompleted; 031import com.restfb.json.Json; 032import com.restfb.json.JsonValue; 033import com.restfb.types.features.HasCreatedTime; 034import com.restfb.types.features.HasFrom; 035import com.restfb.types.features.HasMessage; 036 037/** 038 * Represents the <a href="https://developers.facebook.com/docs/graph-api/reference/message/">Message Graph API type</a> 039 * . 040 * 041 * @author <a href="http://restfb.com">Mark Allen</a> 042 * @author Felipe Kurkowski 043 * @author alockhart 044 */ 045public class Message extends FacebookType implements HasCreatedTime, HasFrom, HasMessage { 046 /** 047 * The time the message was initially created. 048 */ 049 @Facebook("created_time") 050 private Date createdTime; 051 /** 052 * The subject of the message. 053 */ 054 @Facebook 055 private String subject; 056 /** 057 * The sender of this message 058 */ 059 @Facebook 060 private ExtendedReferenceType from; 061 @Facebook 062 private List<ExtendedReferenceType> to = new ArrayList<>(); 063 @Facebook("is_unsupported") 064 private boolean isUnsupported = false; 065 /** 066 * The text of the message 067 */ 068 @Facebook 069 private String message; 070 /** 071 * Sticker contained in the message. 072 */ 073 @Facebook 074 private String sticker; 075 @Facebook 076 private List<Reaction> reactions = new ArrayList<>(); 077 @Facebook 078 private List<Attachment> attachments = new ArrayList<>(); 079 @Facebook 080 private List<Share> shares = new ArrayList<>(); 081 @Facebook 082 private Story story; 083 /** 084 * The time of the last update to this message. 085 */ 086 @Facebook("updated_time") 087 private Date updatedTime; 088 /** 089 * The "unread" count for this message. 090 */ 091 @Facebook 092 private Integer unread; 093 /** 094 * Whether this message has been seen. 095 */ 096 @Facebook 097 private Boolean unseen; 098 @Facebook("reply_to") 099 private ReplyTo replyTo; 100 @Facebook("tags") 101 private transient String rawTags; 102 private List<String> tags = new ArrayList<>(); 103 private static final long serialVersionUID = 1L; 104 105 106 public static class ReplyTo extends FacebookType { 107 private static final long serialVersionUID = 1L; 108 @Facebook 109 private String mid; 110 @Facebook("is_self_reply") 111 private Boolean isSelfReply; 112 113 @java.lang.SuppressWarnings("all") 114 public String getMid() { 115 return this.mid; 116 } 117 118 @java.lang.SuppressWarnings("all") 119 public void setMid(final String mid) { 120 this.mid = mid; 121 } 122 123 @java.lang.SuppressWarnings("all") 124 public Boolean getIsSelfReply() { 125 return this.isSelfReply; 126 } 127 128 @java.lang.SuppressWarnings("all") 129 public void setIsSelfReply(final Boolean isSelfReply) { 130 this.isSelfReply = isSelfReply; 131 } 132 } 133 134 135 /** 136 * Represents an attached file that you may find on a private message. 137 * 138 * @author alockhart 139 * @since 1.6.12 140 */ 141 public static class Attachment extends FacebookType { 142 private static final long serialVersionUID = 1L; 143 /** 144 * The attachment's filename, for example 121423423.jpg. 145 */ 146 @Facebook 147 private String name; 148 /** 149 * The attachment's mime type, for example image/jpeg. 150 */ 151 @Facebook("mime_type") 152 private String mimeType; 153 /** 154 * The size of the attachment in bytes. 155 */ 156 @Facebook 157 private Long size; 158 @Facebook("file_url") 159 private String fileUrl; 160 /** 161 * When the attached file is an image, Facebook will also send information about its width, height and url. 162 */ 163 @Facebook("image_data") 164 private ImageData imageData; 165 /** 166 * When the attached file is a video, Facebook will also send information about its width, height and url. 167 */ 168 @Facebook("video_data") 169 private VideoData videoData; 170 171 /** 172 * returns if the attachment is an image 173 * 174 * @return true if the attachment is an image, false otherwise 175 */ 176 public boolean isImage() { 177 return null != imageData && null == videoData; 178 } 179 180 /** 181 * returns if the attachment is a video 182 * 183 * @return true if the attachment is a video, false otherwise 184 */ 185 public boolean isVideo() { 186 return null != videoData; 187 } 188 189 /** 190 * returns if the attachment is a placeholder for the real attachment, that is not accessible via API due to privacy 191 * rules in Europe 192 * 193 * check <a href="https://developers.facebook.com/docs/messenger-platform/europe-updates">at Facebook</a> 194 * 195 * @return true if not accessible in the EU 196 */ 197 public boolean isRemovedInEurope() { 198 return "1234".equals(getId()); 199 } 200 201 /** 202 * The attachment's filename, for example 121423423.jpg. 203 * 204 * @return The attachment's filename. 205 */ 206 @java.lang.SuppressWarnings("all") 207 public String getName() { 208 return this.name; 209 } 210 211 /** 212 * The attachment's filename, for example 121423423.jpg. 213 */ 214 @java.lang.SuppressWarnings("all") 215 public void setName(final String name) { 216 this.name = name; 217 } 218 219 /** 220 * The attachment's mime type, for example image/jpeg. 221 * 222 * @return The attachment's mime type. 223 */ 224 @java.lang.SuppressWarnings("all") 225 public String getMimeType() { 226 return this.mimeType; 227 } 228 229 /** 230 * The attachment's mime type, for example image/jpeg. 231 */ 232 @java.lang.SuppressWarnings("all") 233 public void setMimeType(final String mimeType) { 234 this.mimeType = mimeType; 235 } 236 237 /** 238 * The size of the attachment in bytes. 239 * 240 * @return The size of the attachment in bytes. 241 */ 242 @java.lang.SuppressWarnings("all") 243 public Long getSize() { 244 return this.size; 245 } 246 247 /** 248 * The size of the attachment in bytes. 249 */ 250 @java.lang.SuppressWarnings("all") 251 public void setSize(final Long size) { 252 this.size = size; 253 } 254 255 @java.lang.SuppressWarnings("all") 256 public String getFileUrl() { 257 return this.fileUrl; 258 } 259 260 @java.lang.SuppressWarnings("all") 261 public void setFileUrl(final String fileUrl) { 262 this.fileUrl = fileUrl; 263 } 264 265 /** 266 * When the attached file is an image, Facebook will also send information about its width, height and url. 267 * 268 * @return The attachment's image data. 269 */ 270 @java.lang.SuppressWarnings("all") 271 public ImageData getImageData() { 272 return this.imageData; 273 } 274 275 /** 276 * When the attached file is an image, Facebook will also send information about its width, height and url. 277 */ 278 @java.lang.SuppressWarnings("all") 279 public void setImageData(final ImageData imageData) { 280 this.imageData = imageData; 281 } 282 283 /** 284 * When the attached file is a video, Facebook will also send information about its width, height and url. 285 * 286 * @return The attachment's video data. 287 */ 288 @java.lang.SuppressWarnings("all") 289 public VideoData getVideoData() { 290 return this.videoData; 291 } 292 293 /** 294 * When the attached file is a video, Facebook will also send information about its width, height and url. 295 */ 296 @java.lang.SuppressWarnings("all") 297 public void setVideoData(final VideoData videoData) { 298 this.videoData = videoData; 299 } 300 } 301 302 303 /** 304 * Represents the <a href="https://developers.facebook.com/docs/graph-api/reference/message/shares/">Message Share 305 * Graph API type</a>. 306 */ 307 public static class Share extends NamedFacebookType { 308 /** 309 * The URL to the shared item. 310 */ 311 @Facebook 312 private String link; 313 /** 314 * The description of the shared item. 315 */ 316 @Facebook 317 private String description; 318 @Facebook 319 private String picture; 320 321 /** 322 * The URL to the shared item. 323 * 324 * @return The URL to the shared item. 325 */ 326 @java.lang.SuppressWarnings("all") 327 public String getLink() { 328 return this.link; 329 } 330 331 /** 332 * The URL to the shared item. 333 */ 334 @java.lang.SuppressWarnings("all") 335 public void setLink(final String link) { 336 this.link = link; 337 } 338 339 /** 340 * The description of the shared item. 341 * 342 * @return The description of the shared item. 343 */ 344 @java.lang.SuppressWarnings("all") 345 public String getDescription() { 346 return this.description; 347 } 348 349 /** 350 * The description of the shared item. 351 */ 352 @java.lang.SuppressWarnings("all") 353 public void setDescription(final String description) { 354 this.description = description; 355 } 356 357 @java.lang.SuppressWarnings("all") 358 public String getPicture() { 359 return this.picture; 360 } 361 362 @java.lang.SuppressWarnings("all") 363 public void setPicture(final String picture) { 364 this.picture = picture; 365 } 366 } 367 368 369 /** 370 * Additional attachment information, only present when an attached file is an image. 371 * 372 * @author Felipe Kurkowski 373 */ 374 public static class ImageData extends AttachmentData { 375 private static final long serialVersionUID = 1L; 376 /** 377 * The image's max width. 378 */ 379 @Facebook("max_width") 380 private int maxWidth; 381 /** 382 * The image's max height. 383 */ 384 @Facebook("max_height") 385 private int maxHeight; 386 @Facebook("render_as_sticker") 387 private Boolean renderAsSticker; 388 @Facebook("image_type") 389 private int imageType; 390 @Facebook("raw_gif_image") 391 private String rawGifImage; 392 @Facebook("raw_webp_image") 393 private String rawWebpImage; 394 @Facebook("animated_gif_url") 395 private String animatedGifUrl; 396 @Facebook("animated_gif_preview_url") 397 private String animatedGifPreviewUrl; 398 @Facebook("animated_webp_url") 399 private String animatedWebpUrl; 400 @Facebook("animated_webp_preview_url") 401 private String animatedWebpPreviewUrl; 402 403 /** 404 * The image's max width. 405 * 406 * @return The image's max width. 407 */ 408 @java.lang.SuppressWarnings("all") 409 public int getMaxWidth() { 410 return this.maxWidth; 411 } 412 413 /** 414 * The image's max width. 415 */ 416 @java.lang.SuppressWarnings("all") 417 public void setMaxWidth(final int maxWidth) { 418 this.maxWidth = maxWidth; 419 } 420 421 /** 422 * The image's max height. 423 * 424 * @return The image's max height. 425 */ 426 @java.lang.SuppressWarnings("all") 427 public int getMaxHeight() { 428 return this.maxHeight; 429 } 430 431 /** 432 * The image's max height. 433 */ 434 @java.lang.SuppressWarnings("all") 435 public void setMaxHeight(final int maxHeight) { 436 this.maxHeight = maxHeight; 437 } 438 439 @java.lang.SuppressWarnings("all") 440 public Boolean getRenderAsSticker() { 441 return this.renderAsSticker; 442 } 443 444 @java.lang.SuppressWarnings("all") 445 public void setRenderAsSticker(final Boolean renderAsSticker) { 446 this.renderAsSticker = renderAsSticker; 447 } 448 449 @java.lang.SuppressWarnings("all") 450 public int getImageType() { 451 return this.imageType; 452 } 453 454 @java.lang.SuppressWarnings("all") 455 public void setImageType(final int imageType) { 456 this.imageType = imageType; 457 } 458 459 @java.lang.SuppressWarnings("all") 460 public String getRawGifImage() { 461 return this.rawGifImage; 462 } 463 464 @java.lang.SuppressWarnings("all") 465 public void setRawGifImage(final String rawGifImage) { 466 this.rawGifImage = rawGifImage; 467 } 468 469 @java.lang.SuppressWarnings("all") 470 public String getRawWebpImage() { 471 return this.rawWebpImage; 472 } 473 474 @java.lang.SuppressWarnings("all") 475 public void setRawWebpImage(final String rawWebpImage) { 476 this.rawWebpImage = rawWebpImage; 477 } 478 479 @java.lang.SuppressWarnings("all") 480 public String getAnimatedGifUrl() { 481 return this.animatedGifUrl; 482 } 483 484 @java.lang.SuppressWarnings("all") 485 public void setAnimatedGifUrl(final String animatedGifUrl) { 486 this.animatedGifUrl = animatedGifUrl; 487 } 488 489 @java.lang.SuppressWarnings("all") 490 public String getAnimatedGifPreviewUrl() { 491 return this.animatedGifPreviewUrl; 492 } 493 494 @java.lang.SuppressWarnings("all") 495 public void setAnimatedGifPreviewUrl(final String animatedGifPreviewUrl) { 496 this.animatedGifPreviewUrl = animatedGifPreviewUrl; 497 } 498 499 @java.lang.SuppressWarnings("all") 500 public String getAnimatedWebpUrl() { 501 return this.animatedWebpUrl; 502 } 503 504 @java.lang.SuppressWarnings("all") 505 public void setAnimatedWebpUrl(final String animatedWebpUrl) { 506 this.animatedWebpUrl = animatedWebpUrl; 507 } 508 509 @java.lang.SuppressWarnings("all") 510 public String getAnimatedWebpPreviewUrl() { 511 return this.animatedWebpPreviewUrl; 512 } 513 514 @java.lang.SuppressWarnings("all") 515 public void setAnimatedWebpPreviewUrl(final String animatedWebpPreviewUrl) { 516 this.animatedWebpPreviewUrl = animatedWebpPreviewUrl; 517 } 518 } 519 520 521 /** 522 * Additional attachment information, only present when an attached file is a video. 523 */ 524 public static class VideoData extends AttachmentData { 525 private static final long serialVersionUID = 1L; 526 @Facebook 527 private int length; 528 @Facebook("video_type") 529 private int videoType; 530 @Facebook 531 private int rotation; 532 533 @java.lang.SuppressWarnings("all") 534 public int getLength() { 535 return this.length; 536 } 537 538 @java.lang.SuppressWarnings("all") 539 public void setLength(final int length) { 540 this.length = length; 541 } 542 543 @java.lang.SuppressWarnings("all") 544 public int getVideoType() { 545 return this.videoType; 546 } 547 548 @java.lang.SuppressWarnings("all") 549 public void setVideoType(final int videoType) { 550 this.videoType = videoType; 551 } 552 553 @java.lang.SuppressWarnings("all") 554 public int getRotation() { 555 return this.rotation; 556 } 557 558 @java.lang.SuppressWarnings("all") 559 public void setRotation(final int rotation) { 560 this.rotation = rotation; 561 } 562 } 563 564 565 public static abstract class AttachmentData extends AbstractFacebookType { 566 private static final long serialVersionUID = 1L; 567 /** 568 * The image's width. 569 */ 570 @Facebook 571 private int width; 572 /** 573 * The image's height. 574 */ 575 @Facebook 576 private int height; 577 /** 578 * The image's url. 579 */ 580 @Facebook 581 private String url; 582 /** 583 * The image's preview url. 584 */ 585 @Facebook("preview_url") 586 private String previewUrl; 587 588 /** 589 * The image's width. 590 * 591 * @return The image's width. 592 */ 593 @java.lang.SuppressWarnings("all") 594 public int getWidth() { 595 return this.width; 596 } 597 598 /** 599 * The image's width. 600 */ 601 @java.lang.SuppressWarnings("all") 602 public void setWidth(final int width) { 603 this.width = width; 604 } 605 606 /** 607 * The image's height. 608 * 609 * @return The image's height. 610 */ 611 @java.lang.SuppressWarnings("all") 612 public int getHeight() { 613 return this.height; 614 } 615 616 /** 617 * The image's height. 618 */ 619 @java.lang.SuppressWarnings("all") 620 public void setHeight(final int height) { 621 this.height = height; 622 } 623 624 /** 625 * The image's url. 626 * 627 * @return The image's url. 628 */ 629 @java.lang.SuppressWarnings("all") 630 public String getUrl() { 631 return this.url; 632 } 633 634 /** 635 * The image's url. 636 */ 637 @java.lang.SuppressWarnings("all") 638 public void setUrl(final String url) { 639 this.url = url; 640 } 641 642 /** 643 * The image's preview url. 644 * 645 * @return The image's preview url. 646 */ 647 @java.lang.SuppressWarnings("all") 648 public String getPreviewUrl() { 649 return this.previewUrl; 650 } 651 652 /** 653 * The image's preview url. 654 */ 655 @java.lang.SuppressWarnings("all") 656 public void setPreviewUrl(final String previewUrl) { 657 this.previewUrl = previewUrl; 658 } 659 } 660 661 662 public static class Reaction extends AbstractFacebookType { 663 @Facebook 664 private String reaction; 665 @Facebook 666 private List<ExtendedReferenceType> users = new ArrayList<>(); 667 668 public List<ExtendedReferenceType> getUsers() { 669 return users; 670 } 671 672 public boolean addUser(ExtendedReferenceType user) { 673 return users.add(user); 674 } 675 676 public boolean removeUser(ExtendedReferenceType user) { 677 return users.remove(user); 678 } 679 680 @java.lang.SuppressWarnings("all") 681 public String getReaction() { 682 return this.reaction; 683 } 684 685 @java.lang.SuppressWarnings("all") 686 public void setReaction(final String reaction) { 687 this.reaction = reaction; 688 } 689 } 690 691 692 public static class Story extends AbstractFacebookType { 693 @Facebook("reply_to") 694 StoryReply replyTo; 695 @Facebook 696 StoryMention mention; 697 698 @java.lang.SuppressWarnings("all") 699 public StoryReply getReplyTo() { 700 return this.replyTo; 701 } 702 703 @java.lang.SuppressWarnings("all") 704 public void setReplyTo(final StoryReply replyTo) { 705 this.replyTo = replyTo; 706 } 707 708 @java.lang.SuppressWarnings("all") 709 public StoryMention getMention() { 710 return this.mention; 711 } 712 713 @java.lang.SuppressWarnings("all") 714 public void setMention(final StoryMention mention) { 715 this.mention = mention; 716 } 717 } 718 719 720 public static class StoryReply extends FacebookType { 721 @Facebook 722 private String link; 723 724 @java.lang.SuppressWarnings("all") 725 public String getLink() { 726 return this.link; 727 } 728 729 @java.lang.SuppressWarnings("all") 730 public void setLink(final String link) { 731 this.link = link; 732 } 733 } 734 735 736 public static class StoryMention extends FacebookType { 737 @Facebook 738 private String link; 739 740 @java.lang.SuppressWarnings("all") 741 public String getLink() { 742 return this.link; 743 } 744 745 @java.lang.SuppressWarnings("all") 746 public void setLink(final String link) { 747 this.link = link; 748 } 749 } 750 751 @JsonMappingCompleted 752 void convertTags() { 753 if (rawTags != null) { 754 JsonValue parsedObject = Json.parse(rawTags); 755 if (parsedObject.isObject() && parsedObject.asObject().get("data").isArray()) { 756 for (JsonValue tagObject : parsedObject.asObject().get("data").asArray()) { 757 tags.add(tagObject.asObject().get("name").asString()); 758 } 759 } 760 } 761 } 762 763 /** 764 * The attachments associated with the message. 765 * 766 * @return The attachments associated with the message. 767 */ 768 public List<Attachment> getAttachments() { 769 return (attachments != null ? unmodifiableList(attachments) : null); 770 } 771 772 public boolean addAttachment(Attachment attachment) { 773 return attachments.add(attachment); 774 } 775 776 public boolean removeAttachment(Attachment attachment) { 777 return attachments.remove(attachment); 778 } 779 780 /** 781 * The shares associated with the message. 782 * <p> 783 * This is page only. 784 * 785 * @return The shares associated with the message. 786 */ 787 public List<Share> getShares() { 788 return (shares != null ? unmodifiableList(shares) : null); 789 } 790 791 public boolean addShare(Share share) { 792 return shares.add(share); 793 } 794 795 public boolean removeShare(Share share) { 796 return shares.remove(share); 797 } 798 799 /** 800 * A list of recipients of the message. 801 * 802 * @return A list of the message recipients 803 */ 804 public List<ExtendedReferenceType> getTo() { 805 return unmodifiableList(to); 806 } 807 808 public boolean addTo(ExtendedReferenceType receiver) { 809 return to.add(receiver); 810 } 811 812 public boolean removeTo(ExtendedReferenceType receiver) { 813 return to.remove(receiver); 814 } 815 816 /** 817 * A set of tags indicating the message folder and source of the message. 818 * 819 * @return A set of tags indicating the message folder and source of the message. 820 */ 821 public List<String> getTags() { 822 return unmodifiableList(tags); 823 } 824 825 public boolean addTag(String tag) { 826 return tags.add(tag); 827 } 828 829 public boolean removeTag(String tag) { 830 return tags.remove(tag); 831 } 832 833 /** 834 * Reaction (like/love) on the existing message 835 * 836 * @return list of reactions 837 */ 838 public List<Reaction> getReactions() { 839 return unmodifiableList(reactions); 840 } 841 842 public boolean addReaction(Reaction reaction) { 843 return reactions.add(reaction); 844 } 845 846 public boolean removeReaction(Reaction reaction) { 847 return reactions.remove(reaction); 848 } 849 850 /** 851 * The time the message was initially created. 852 * 853 * @return The time the message was initially created. 854 */ 855 @Override 856 @java.lang.SuppressWarnings("all") 857 public Date getCreatedTime() { 858 return this.createdTime; 859 } 860 861 /** 862 * The time the message was initially created. 863 */ 864 @java.lang.SuppressWarnings("all") 865 public void setCreatedTime(final Date createdTime) { 866 this.createdTime = createdTime; 867 } 868 869 /** 870 * The subject of the message. 871 * 872 * @return The subject of the message. 873 */ 874 @java.lang.SuppressWarnings("all") 875 public String getSubject() { 876 return this.subject; 877 } 878 879 /** 880 * The subject of the message. 881 */ 882 @java.lang.SuppressWarnings("all") 883 public void setSubject(final String subject) { 884 this.subject = subject; 885 } 886 887 /** 888 * The sender of this message 889 * 890 * @return The sender of this message 891 */ 892 @Override 893 @java.lang.SuppressWarnings("all") 894 public ExtendedReferenceType getFrom() { 895 return this.from; 896 } 897 898 /** 899 * The sender of this message 900 */ 901 @java.lang.SuppressWarnings("all") 902 public void setFrom(final ExtendedReferenceType from) { 903 this.from = from; 904 } 905 906 @java.lang.SuppressWarnings("all") 907 public boolean isUnsupported() { 908 return this.isUnsupported; 909 } 910 911 @java.lang.SuppressWarnings("all") 912 public void setUnsupported(final boolean isUnsupported) { 913 this.isUnsupported = isUnsupported; 914 } 915 916 /** 917 * The text of the message 918 * 919 * @return The text of the message 920 */ 921 @Override 922 @java.lang.SuppressWarnings("all") 923 public String getMessage() { 924 return this.message; 925 } 926 927 /** 928 * The text of the message 929 */ 930 @java.lang.SuppressWarnings("all") 931 public void setMessage(final String message) { 932 this.message = message; 933 } 934 935 /** 936 * Sticker contained in the message. 937 * 938 * @return The Sticker in that message 939 */ 940 @java.lang.SuppressWarnings("all") 941 public String getSticker() { 942 return this.sticker; 943 } 944 945 /** 946 * Sticker contained in the message. 947 */ 948 @java.lang.SuppressWarnings("all") 949 public void setSticker(final String sticker) { 950 this.sticker = sticker; 951 } 952 953 @java.lang.SuppressWarnings("all") 954 public Story getStory() { 955 return this.story; 956 } 957 958 @java.lang.SuppressWarnings("all") 959 public void setStory(final Story story) { 960 this.story = story; 961 } 962 963 /** 964 * The time of the last update to this message. 965 * 966 * @return The time of the last update to this message. 967 */ 968 @java.lang.SuppressWarnings("all") 969 public Date getUpdatedTime() { 970 return this.updatedTime; 971 } 972 973 /** 974 * The time of the last update to this message. 975 */ 976 @java.lang.SuppressWarnings("all") 977 public void setUpdatedTime(final Date updatedTime) { 978 this.updatedTime = updatedTime; 979 } 980 981 /** 982 * The "unread" count for this message. 983 * 984 * @return The "unread" count for this message. 985 */ 986 @java.lang.SuppressWarnings("all") 987 public Integer getUnread() { 988 return this.unread; 989 } 990 991 /** 992 * The "unread" count for this message. 993 */ 994 @java.lang.SuppressWarnings("all") 995 public void setUnread(final Integer unread) { 996 this.unread = unread; 997 } 998 999 /** 1000 * Whether this message has been seen. 1001 * 1002 * @return Whether this message has been seen. 1003 */ 1004 @java.lang.SuppressWarnings("all") 1005 public Boolean getUnseen() { 1006 return this.unseen; 1007 } 1008 1009 /** 1010 * Whether this message has been seen. 1011 */ 1012 @java.lang.SuppressWarnings("all") 1013 public void setUnseen(final Boolean unseen) { 1014 this.unseen = unseen; 1015 } 1016 1017 @java.lang.SuppressWarnings("all") 1018 public ReplyTo getReplyTo() { 1019 return this.replyTo; 1020 } 1021 1022 @java.lang.SuppressWarnings("all") 1023 public void setReplyTo(final ReplyTo replyTo) { 1024 this.replyTo = replyTo; 1025 } 1026}