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.threads; 024 025import java.util.ArrayList; 026import java.util.Date; 027import java.util.List; 028import com.restfb.Facebook; 029import com.restfb.types.FacebookType; 030 031/** 032 * Represents the <a href="https://developers.facebook.com/docs/threads/reply-moderation">Reply or Conversation type</a> 033 */ 034public class TdReply extends FacebookType { 035 private static final long serialVersionUID = 1L; 036 /** 037 * Represents text for a Threads reply. This is optional on image, video, and carousel replies. 038 */ 039 @Facebook 040 private String text; 041 /** 042 * Instagram username who created the post. Note: This only works for public users or your own user. 043 */ 044 @Facebook 045 private String username; 046 /** 047 * Permanent link to the post. Will be omitted if the media contains copyrighted material or has been flagged for a 048 * copyright violation. Note: This only works for public users or your own user. 049 */ 050 @Facebook 051 private String permalink; 052 /** 053 * The publish date and time of the post in ISO 8601 format. 054 */ 055 @Facebook 056 private Date timestamp; 057 /** 058 * Surface where the media is published. In the case of Threads, the value is THREADS. 059 */ 060 @Facebook("media_product_type") 061 private String mediaProductType; 062 /** 063 * The media type for a Threads reply. Values: TEXT_POST, IMAGE, VIDEO, CAROUSEL_ALBUM 064 */ 065 @Facebook("media_type") 066 private TdMediaType mediaType; 067 /** 068 * The post’s media URL. This only shows for image, video, and carousel replies. 069 */ 070 @Facebook("media_url") 071 private String mediaUrl; 072 /** 073 * Shortcode of the media. 074 */ 075 @Facebook 076 private String shortcode; 077 /** 078 * URL of thumbnail. This only shows for Threads replies with video. 079 */ 080 @Facebook("thumbnail_url") 081 private String thumbnailUrl; 082 /** 083 * List of child posts. This only shows for carousel replies. 084 */ 085 @Facebook 086 private List<TdReply> children = new ArrayList<>(); 087 /** 088 * Indicates if the media is a quoted reply made by another user. 089 */ 090 @Facebook("is_quote_post") 091 private Boolean isQuotePost; 092 /** 093 * true if the Threads post or reply has replies that you can see. 094 */ 095 @Facebook("has_replies") 096 private Boolean hasReplies; 097 /** 098 * Media ID of the top-level post or original thread in the reply tree. Note: This only appears on replies. 099 */ 100 @Facebook("root_post") 101 private TdReply rootPost; 102 /** 103 * Media ID of the immediate parent of the reply. Note: This only appears on replies. 104 */ 105 @Facebook("replied_to") 106 private TdReply repliedTo; 107 /** 108 * true if the Threads media is a reply. false if the Threads media is a top-level post. 109 */ 110 @Facebook("is_reply") 111 private Boolean isReply; 112 /** 113 * {@code true} if your user is the owner of the Threads reply. <br> 114 * {@code false} if another user is the owner of the Threads reply. 115 */ 116 @Facebook("is_reply_owned_by_me") 117 private Boolean isReplyOwnedByMe; 118 /** 119 * Whether or not the reply is hidden. Values: NOT_HUSHED, UNHUSHED, HIDDEN, COVERED, BLOCKED, RESTRICTED 120 */ 121 @Facebook("hide_status") 122 private TdHideStatus hideStatus; 123 /** 124 * Who can reply to your post. 125 */ 126 @Facebook("reply_audience") 127 private TdReplyAudience replyAudience; 128 129 130 public enum TdHideStatus { 131 NOT_HUSHED, UNHUSHED, HIDDEN, COVERED, BLOCKED, RESTRICTED; 132 } 133 134 135 public enum TdReplyAudience { 136 EVERYONE, // 137 ACCOUNTS_YOU_FOLLOW, // 138 MENTIONED_ONLY, // 139 PARENT_POST_AUTHOR_ONLY, // 140 FOLLOWERS_ONLY; 141 } 142 143 /** 144 * Represents text for a Threads reply. This is optional on image, video, and carousel replies. 145 */ 146 @java.lang.SuppressWarnings("all") 147 @lombok.Generated 148 public String getText() { 149 return this.text; 150 } 151 152 /** 153 * Represents text for a Threads reply. This is optional on image, video, and carousel replies. 154 */ 155 @java.lang.SuppressWarnings("all") 156 @lombok.Generated 157 public void setText(final String text) { 158 this.text = text; 159 } 160 161 /** 162 * Instagram username who created the post. Note: This only works for public users or your own user. 163 */ 164 @java.lang.SuppressWarnings("all") 165 @lombok.Generated 166 public String getUsername() { 167 return this.username; 168 } 169 170 /** 171 * Instagram username who created the post. Note: This only works for public users or your own user. 172 */ 173 @java.lang.SuppressWarnings("all") 174 @lombok.Generated 175 public void setUsername(final String username) { 176 this.username = username; 177 } 178 179 /** 180 * Permanent link to the post. Will be omitted if the media contains copyrighted material or has been flagged for a 181 * copyright violation. Note: This only works for public users or your own user. 182 */ 183 @java.lang.SuppressWarnings("all") 184 @lombok.Generated 185 public String getPermalink() { 186 return this.permalink; 187 } 188 189 /** 190 * Permanent link to the post. Will be omitted if the media contains copyrighted material or has been flagged for a 191 * copyright violation. Note: This only works for public users or your own user. 192 */ 193 @java.lang.SuppressWarnings("all") 194 @lombok.Generated 195 public void setPermalink(final String permalink) { 196 this.permalink = permalink; 197 } 198 199 /** 200 * The publish date and time of the post in ISO 8601 format. 201 */ 202 @java.lang.SuppressWarnings("all") 203 @lombok.Generated 204 public Date getTimestamp() { 205 return this.timestamp; 206 } 207 208 /** 209 * The publish date and time of the post in ISO 8601 format. 210 */ 211 @java.lang.SuppressWarnings("all") 212 @lombok.Generated 213 public void setTimestamp(final Date timestamp) { 214 this.timestamp = timestamp; 215 } 216 217 /** 218 * Surface where the media is published. In the case of Threads, the value is THREADS. 219 */ 220 @java.lang.SuppressWarnings("all") 221 @lombok.Generated 222 public String getMediaProductType() { 223 return this.mediaProductType; 224 } 225 226 /** 227 * Surface where the media is published. In the case of Threads, the value is THREADS. 228 */ 229 @java.lang.SuppressWarnings("all") 230 @lombok.Generated 231 public void setMediaProductType(final String mediaProductType) { 232 this.mediaProductType = mediaProductType; 233 } 234 235 /** 236 * The media type for a Threads reply. Values: TEXT_POST, IMAGE, VIDEO, CAROUSEL_ALBUM 237 */ 238 @java.lang.SuppressWarnings("all") 239 @lombok.Generated 240 public TdMediaType getMediaType() { 241 return this.mediaType; 242 } 243 244 /** 245 * The media type for a Threads reply. Values: TEXT_POST, IMAGE, VIDEO, CAROUSEL_ALBUM 246 */ 247 @java.lang.SuppressWarnings("all") 248 @lombok.Generated 249 public void setMediaType(final TdMediaType mediaType) { 250 this.mediaType = mediaType; 251 } 252 253 /** 254 * The post’s media URL. This only shows for image, video, and carousel replies. 255 */ 256 @java.lang.SuppressWarnings("all") 257 @lombok.Generated 258 public String getMediaUrl() { 259 return this.mediaUrl; 260 } 261 262 /** 263 * The post’s media URL. This only shows for image, video, and carousel replies. 264 */ 265 @java.lang.SuppressWarnings("all") 266 @lombok.Generated 267 public void setMediaUrl(final String mediaUrl) { 268 this.mediaUrl = mediaUrl; 269 } 270 271 /** 272 * Shortcode of the media. 273 */ 274 @java.lang.SuppressWarnings("all") 275 @lombok.Generated 276 public String getShortcode() { 277 return this.shortcode; 278 } 279 280 /** 281 * Shortcode of the media. 282 */ 283 @java.lang.SuppressWarnings("all") 284 @lombok.Generated 285 public void setShortcode(final String shortcode) { 286 this.shortcode = shortcode; 287 } 288 289 /** 290 * URL of thumbnail. This only shows for Threads replies with video. 291 */ 292 @java.lang.SuppressWarnings("all") 293 @lombok.Generated 294 public String getThumbnailUrl() { 295 return this.thumbnailUrl; 296 } 297 298 /** 299 * URL of thumbnail. This only shows for Threads replies with video. 300 */ 301 @java.lang.SuppressWarnings("all") 302 @lombok.Generated 303 public void setThumbnailUrl(final String thumbnailUrl) { 304 this.thumbnailUrl = thumbnailUrl; 305 } 306 307 /** 308 * List of child posts. This only shows for carousel replies. 309 */ 310 @java.lang.SuppressWarnings("all") 311 @lombok.Generated 312 public List<TdReply> getChildren() { 313 return this.children; 314 } 315 316 /** 317 * List of child posts. This only shows for carousel replies. 318 */ 319 @java.lang.SuppressWarnings("all") 320 @lombok.Generated 321 public void setChildren(final List<TdReply> children) { 322 this.children = children; 323 } 324 325 /** 326 * Indicates if the media is a quoted reply made by another user. 327 */ 328 @java.lang.SuppressWarnings("all") 329 @lombok.Generated 330 public Boolean getIsQuotePost() { 331 return this.isQuotePost; 332 } 333 334 /** 335 * Indicates if the media is a quoted reply made by another user. 336 */ 337 @java.lang.SuppressWarnings("all") 338 @lombok.Generated 339 public void setIsQuotePost(final Boolean isQuotePost) { 340 this.isQuotePost = isQuotePost; 341 } 342 343 /** 344 * true if the Threads post or reply has replies that you can see. 345 */ 346 @java.lang.SuppressWarnings("all") 347 @lombok.Generated 348 public Boolean getHasReplies() { 349 return this.hasReplies; 350 } 351 352 /** 353 * true if the Threads post or reply has replies that you can see. 354 */ 355 @java.lang.SuppressWarnings("all") 356 @lombok.Generated 357 public void setHasReplies(final Boolean hasReplies) { 358 this.hasReplies = hasReplies; 359 } 360 361 /** 362 * Media ID of the top-level post or original thread in the reply tree. Note: This only appears on replies. 363 */ 364 @java.lang.SuppressWarnings("all") 365 @lombok.Generated 366 public TdReply getRootPost() { 367 return this.rootPost; 368 } 369 370 /** 371 * Media ID of the top-level post or original thread in the reply tree. Note: This only appears on replies. 372 */ 373 @java.lang.SuppressWarnings("all") 374 @lombok.Generated 375 public void setRootPost(final TdReply rootPost) { 376 this.rootPost = rootPost; 377 } 378 379 /** 380 * Media ID of the immediate parent of the reply. Note: This only appears on replies. 381 */ 382 @java.lang.SuppressWarnings("all") 383 @lombok.Generated 384 public TdReply getRepliedTo() { 385 return this.repliedTo; 386 } 387 388 /** 389 * Media ID of the immediate parent of the reply. Note: This only appears on replies. 390 */ 391 @java.lang.SuppressWarnings("all") 392 @lombok.Generated 393 public void setRepliedTo(final TdReply repliedTo) { 394 this.repliedTo = repliedTo; 395 } 396 397 /** 398 * true if the Threads media is a reply. false if the Threads media is a top-level post. 399 */ 400 @java.lang.SuppressWarnings("all") 401 @lombok.Generated 402 public Boolean getIsReply() { 403 return this.isReply; 404 } 405 406 /** 407 * true if the Threads media is a reply. false if the Threads media is a top-level post. 408 */ 409 @java.lang.SuppressWarnings("all") 410 @lombok.Generated 411 public void setIsReply(final Boolean isReply) { 412 this.isReply = isReply; 413 } 414 415 /** 416 * {@code true} if your user is the owner of the Threads reply. <br> 417 * {@code false} if another user is the owner of the Threads reply. 418 */ 419 @java.lang.SuppressWarnings("all") 420 @lombok.Generated 421 public Boolean getIsReplyOwnedByMe() { 422 return this.isReplyOwnedByMe; 423 } 424 425 /** 426 * {@code true} if your user is the owner of the Threads reply. <br> 427 * {@code false} if another user is the owner of the Threads reply. 428 */ 429 @java.lang.SuppressWarnings("all") 430 @lombok.Generated 431 public void setIsReplyOwnedByMe(final Boolean isReplyOwnedByMe) { 432 this.isReplyOwnedByMe = isReplyOwnedByMe; 433 } 434 435 /** 436 * Whether or not the reply is hidden. Values: NOT_HUSHED, UNHUSHED, HIDDEN, COVERED, BLOCKED, RESTRICTED 437 */ 438 @java.lang.SuppressWarnings("all") 439 @lombok.Generated 440 public TdHideStatus getHideStatus() { 441 return this.hideStatus; 442 } 443 444 /** 445 * Whether or not the reply is hidden. Values: NOT_HUSHED, UNHUSHED, HIDDEN, COVERED, BLOCKED, RESTRICTED 446 */ 447 @java.lang.SuppressWarnings("all") 448 @lombok.Generated 449 public void setHideStatus(final TdHideStatus hideStatus) { 450 this.hideStatus = hideStatus; 451 } 452 453 /** 454 * Who can reply to your post. 455 */ 456 @java.lang.SuppressWarnings("all") 457 @lombok.Generated 458 public TdReplyAudience getReplyAudience() { 459 return this.replyAudience; 460 } 461 462 /** 463 * Who can reply to your post. 464 */ 465 @java.lang.SuppressWarnings("all") 466 @lombok.Generated 467 public void setReplyAudience(final TdReplyAudience replyAudience) { 468 this.replyAudience = replyAudience; 469 } 470}