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.annotation.GraphAPI;
032import com.restfb.types.features.HasComments;
033import com.restfb.types.features.HasCreatedTime;
034import com.restfb.types.features.HasMessage;
035
036/**
037 * Represents the <a href="https://developers.facebook.com/docs/reference/api/video">Video Graph API type</a>.
038 *
039 * @author <a href="http://restfb.com">Mark Allen</a>
040 * @since 1.5
041 */
042public class Video extends NamedFacebookType implements HasComments, HasCreatedTime, HasMessage {
043  /**
044   * An object containing the name and ID of the user who posted the video.
045   */
046  @Facebook
047  private From from;
048  /**
049   * The video title / caption.
050   *
051   * @deprecated FB seems to have removed this field.
052   */
053  @Facebook
054  @Deprecated
055  private String message;
056  /**
057   * The comments for this video.
058   */
059  @Facebook
060  private Comments comments;
061  /**
062   * The long-form HTML description of the video.
063   */
064  @Facebook
065  private String description;
066  /**
067   * URL to the permalink page of the video
068   */
069  @Facebook("permalink_url")
070  private String permalinkUrl;
071  /**
072   * The video title or caption
073   */
074  @Facebook("title")
075  @GraphAPI(since = "2.5")
076  private String title;
077  @Facebook("is_crosspost_video")
078  private Boolean isCrosspostVideo;
079  /**
080   * Specifies if the video is eligible for crossposting.
081   */
082  @Facebook("is_crossposting_eligible")
083  @GraphAPI(since = "2.6")
084  private Boolean isCrosspostingEligible;
085  /**
086   * Whether this video is episode or not.
087   */
088  @Facebook("is_episode")
089  private Boolean isEpisode;
090  /**
091   * Whether the video is eligible to be promoted on Instagram
092   */
093  @Facebook("is_instagram_eligible")
094  private Boolean isInstagramEligible;
095  /**
096   * Whether the video is exclusively used for copyright monitoring.
097   */
098  @Facebook("is_reference_only")
099  private Boolean isReferenceOnly;
100  /**
101   * The music video copyright of this video
102   *
103   * because of a missing object description in the graph reference, we use a Map here
104   */
105  @Facebook("music_video_copyright")
106  private MusicVideoCopyright musicVideoCopyright;
107  /**
108   * The public view count of the video post, not aggregated with any other crossposts of the video.
109   */
110  @Facebook("post_views")
111  private Integer postViews;
112  /**
113   * The reactions for this video.
114   */
115  @Facebook
116  private Reactions reactions;
117  /**
118   * Whether the video is embeddable.
119   */
120  @Facebook
121  @GraphAPI(since = "2.4")
122  private Boolean embeddable;
123  @Facebook("content_tags")
124  private List<String> contentTags = new ArrayList<>();
125  /**
126   * If this object has a place, the event associated with the place.
127   */
128  @Facebook
129  @GraphAPI(since = "2.3")
130  private Event event;
131  /**
132   * Whether or not the video is highlighted in Video Channel.
133   */
134  @Facebook("feed_type")
135  @GraphAPI(since = "2.7")
136  private String feedType;
137  /**
138   * The publishers asset management code for this video.
139   */
140  @Facebook("universal_video_id")
141  private String universalVideoId;
142  /**
143   * The public view count of the video.
144   */
145  @Facebook
146  private Integer views;
147  @Facebook
148  private List<VideoFormat> format = new ArrayList<>();
149  /**
150   * People who like this.
151   *
152   * you need to add the field to the fields query parameter to get the likes list otherwise null is returned
153   */
154  @Facebook
155  private Likes likes;
156  /**
157   * Location associated with the video, if any.
158   */
159  @Facebook
160  private Place place;
161  /**
162   * identifier of the post this video belongs to
163   */
164  @Facebook("post_id")
165  private String postId;
166  /**
167   * The content category of this video.
168   */
169  @Facebook("content_category")
170  @GraphAPI(since = "2.4")
171  private String contentCategory;
172  /**
173   * A URL for the thumbnail picture of the video.
174   */
175  @Facebook
176  private String picture;
177  /**
178   * An icon URL which represents the video.
179   */
180  @Facebook
181  private String icon;
182  /**
183   * A URL to the raw, playable video file.
184   *
185   * @since 1.6.5
186   */
187  @Facebook
188  private String source;
189  /**
190   * HTML that may be used to embed the video on another website.
191   */
192  @Facebook("embed_html")
193  private String embedHtml;
194  /**
195   * The length of the video, in seconds.
196   */
197  @Facebook
198  private Double length;
199  /**
200   * Number of unique people who watched the video broadcast when it was live.
201   */
202  @Facebook("live_audience_count")
203  @GraphAPI(since = "2.6")
204  private Integer liveAudienceCount;
205  /**
206   * The live status of the video.
207   *
208   * Possible values contain LIVE, LIVE_STOPPED, VOD
209   */
210  @Facebook("live_status")
211  @GraphAPI(since = "2.6")
212  private String liveStatus;
213  /**
214   * Privacy setting for the video.
215   */
216  @Facebook
217  private Privacy privacy;
218  /**
219   * The status of the Premiere Watch Party, if any
220   */
221  @Facebook("premiere_living_room_status")
222  private String premiereLivingRoomStatus;
223  /**
224   * Object describing the status attributes of a video.
225   */
226  @Facebook
227  private VideoStatus status;
228  /**
229   * Whether a post about this video is published.
230   *
231   * This field is only accessible in Graph API 2.3 or later.
232   *
233   * @since 1.10.0
234   */
235  @Facebook
236  @GraphAPI(since = "2.3")
237  private Boolean published;
238  /**
239   * Back dated time
240   *
241   * @since 1.10.0
242   */
243  @Facebook("backdated_time")
244  private Date backdatedTime;
245  /**
246   * String that represents the back dated time granularity
247   *
248   * @since 1.10.0
249   */
250  @Facebook("backdated_time_granularity")
251  private String backdatedTimeGranularity;
252  /**
253   * Shows whether the video is eligible to be boosted or not
254   */
255  @Facebook("boost_eligibility_info")
256  private VideoBoostEligibilityInfo boostEligibilityInfo;
257  /**
258   * The time the video was initially published.
259   */
260  @Facebook("created_time")
261  private Date createdTime;
262  /**
263   * The last time the video or its caption were updated.
264   */
265  @Facebook("updated_time")
266  private Date updatedTime;
267  /**
268   * The time that the video is scheduled to be published.
269   *
270   * This field is only accessible in Graph API 2.3 or later.
271   *
272   * @since 1.10.0
273   */
274  @Facebook("scheduled_publish_time")
275  @GraphAPI(since = "2.3")
276  private Date scheduledPublishTime;
277  @Facebook
278  private List<VideoCaption> captions = new ArrayList<>();
279  @Facebook
280  private List<NamedFacebookType> tags = new ArrayList<>();
281  @Facebook("ad_breaks")
282  private List<Integer> adBreaks = new ArrayList<>();
283  @Facebook("custom_labels")
284  private List<String> customLabels = new ArrayList<>();
285  @Facebook("video_insights")
286  private Connection<Insight> videoInsights;
287  @Facebook
288  private Connection<Thumbnail> thumbnails;
289  private static final long serialVersionUID = 1L;
290
291  public List<VideoCaption> getCaptions() {
292    return unmodifiableList(captions);
293  }
294
295  public boolean addCaption(VideoCaption caption) {
296    return captions.add(caption);
297  }
298
299  public boolean removeCaption(VideoCaption caption) {
300    return captions.remove(caption);
301  }
302
303  /**
304   * The different formats of the video.
305   *
306   * @return The different formats of the video.
307   */
308  public List<VideoFormat> getFormat() {
309    return unmodifiableList(format);
310  }
311
312  public boolean addFormat(VideoFormat videoFormat) {
313    return format.add(videoFormat);
314  }
315
316  public boolean removeFormat(VideoFormat videoFormat) {
317    return format.remove(videoFormat);
318  }
319
320  /**
321   * Tags for the video.
322   *
323   * @return Tags for the video.
324   * @since 1.6.5
325   */
326  public List<NamedFacebookType> getTags() {
327    return unmodifiableList(tags);
328  }
329
330  public boolean addTag(NamedFacebookType tag) {
331    return tags.add(tag);
332  }
333
334  public boolean removeTag(NamedFacebookType tag) {
335    return tags.remove(tag);
336  }
337
338  /**
339   * Tags that describe the contents of the video.
340   *
341   * @return Tags that describe the contents of the video.
342   */
343  public List<String> getContentTags() {
344    return unmodifiableList(contentTags);
345  }
346
347  public boolean addContentTag(String contentTag) {
348    return contentTags.add(contentTag);
349  }
350
351  public boolean removeContentTag(String contentTag) {
352    return contentTags.remove(contentTag);
353  }
354
355  /**
356   * Time offsets of ad breaks in milliseconds. Ad breaks are short ads that play within a video.
357   *
358   * @return Time offsets of ad breaks in milliseconds. Ad breaks are short ads that play within a video.
359   */
360  public List<Integer> getAdBreaks() {
361    return unmodifiableList(adBreaks);
362  }
363
364  public boolean addAdBreak(Integer adBreak) {
365    return adBreaks.add(adBreak);
366  }
367
368  public boolean removeAdBreak(Integer adBreak) {
369    return adBreaks.remove(adBreak);
370  }
371
372  /**
373   * Labels used to describe the video.
374   *
375   * Unlike content tags, custom labels are not published and only appear in insights data.
376   *
377   * @return Labels used to describe the video.
378   */
379  public List<String> getCustomLabels() {
380    return unmodifiableList(customLabels);
381  }
382
383  public boolean addCustomLabel(String customLabel) {
384    return customLabels.add(customLabel);
385  }
386
387  public boolean removeCustomLabel(String customLabel) {
388    return customLabels.remove(customLabel);
389  }
390
391  /**
392   * The number of likes on this video.
393   *
394   * you have to fetch the video id with <code>?fields=likes.summary(true)</code> in order to speed up the likes count
395   * generation, you may use <code>?fields=likes.limit(1).summary(true)</code>, so only 1 like is fetched, but the
396   * complete summary
397   *
398   * @return The number of likes on this video.
399   */
400  public Long getLikesCount() {
401    if (getLikes() != null) {
402      return getLikes().getTotalCount();
403    }
404    return 0L;
405  }
406
407  /**
408   * The number of comments of this video.
409   *
410   * you have to fetch the video id with <code>?fields=comments.summary(true)</code> in order to speed up the comments
411   * count generation, you may use <code>?fields=comments.limit(1).summary(true)</code>, so only 1 comment is fetched,
412   * but the complete summary
413   *
414   * @return The number of comments of this video.
415   */
416  public Long getCommentsCount() {
417    if (getComments() != null) {
418      return getComments().getTotalCount();
419    }
420    return 0L;
421  }
422
423
424  /**
425   * Represents the <a href="https://developers.facebook.com/docs/graph-api/reference/video-thumbnail/">Video Thumbnail
426   * Graph API type</a>.
427   *
428   * @since 1.10.0
429   */
430  public static class Thumbnail extends NamedFacebookType {
431    private static final long serialVersionUID = 1L;
432    /**
433     * The height of the thumbnail
434     */
435    @Facebook
436    private Integer height;
437    /**
438     * The width of the thumbnail
439     */
440    @Facebook
441    private Integer width;
442    /**
443     * The scale of the thumbnail
444     */
445    @Facebook
446    private Float scale;
447    /**
448     * The uri of the thumbnail
449     */
450    @Facebook
451    private String uri;
452    /**
453     * Whether this is the preferred thumbnail for the video
454     */
455    @Facebook("is_preferred")
456    private Boolean isPreferred;
457
458    /**
459     * The height of the thumbnail
460     */
461    @java.lang.SuppressWarnings("all")
462    @lombok.Generated
463    public Integer getHeight() {
464      return this.height;
465    }
466
467    /**
468     * The height of the thumbnail
469     */
470    @java.lang.SuppressWarnings("all")
471    @lombok.Generated
472    public void setHeight(final Integer height) {
473      this.height = height;
474    }
475
476    /**
477     * The width of the thumbnail
478     */
479    @java.lang.SuppressWarnings("all")
480    @lombok.Generated
481    public Integer getWidth() {
482      return this.width;
483    }
484
485    /**
486     * The width of the thumbnail
487     */
488    @java.lang.SuppressWarnings("all")
489    @lombok.Generated
490    public void setWidth(final Integer width) {
491      this.width = width;
492    }
493
494    /**
495     * The scale of the thumbnail
496     */
497    @java.lang.SuppressWarnings("all")
498    @lombok.Generated
499    public Float getScale() {
500      return this.scale;
501    }
502
503    /**
504     * The scale of the thumbnail
505     */
506    @java.lang.SuppressWarnings("all")
507    @lombok.Generated
508    public void setScale(final Float scale) {
509      this.scale = scale;
510    }
511
512    /**
513     * The uri of the thumbnail
514     */
515    @java.lang.SuppressWarnings("all")
516    @lombok.Generated
517    public String getUri() {
518      return this.uri;
519    }
520
521    /**
522     * The uri of the thumbnail
523     */
524    @java.lang.SuppressWarnings("all")
525    @lombok.Generated
526    public void setUri(final String uri) {
527      this.uri = uri;
528    }
529
530    /**
531     * Whether this is the preferred thumbnail for the video
532     */
533    @java.lang.SuppressWarnings("all")
534    @lombok.Generated
535    public Boolean getIsPreferred() {
536      return this.isPreferred;
537    }
538
539    /**
540     * Whether this is the preferred thumbnail for the video
541     */
542    @java.lang.SuppressWarnings("all")
543    @lombok.Generated
544    public void setIsPreferred(final Boolean isPreferred) {
545      this.isPreferred = isPreferred;
546    }
547  }
548
549
550  /**
551   * Represents the <a href="https://developers.facebook.com/docs/graph-api/reference/video-format/">Video Format Graph
552   * API type</a>.
553   */
554  public static class VideoFormat extends AbstractFacebookType {
555    private static final long serialVersionUID = 1L;
556    /**
557     * HTML to embed the video in this format.
558     */
559    @Facebook("embed_html")
560    private String embedHtml;
561    /**
562     * The filter applied to this video format.
563     */
564    @Facebook
565    private String filter;
566    /**
567     * The thumbnail for the video in this format.
568     */
569    @Facebook
570    private String picture;
571    /**
572     * The width of the video in this format.
573     */
574    @Facebook
575    private Integer width;
576    /**
577     * The height of the video in this format.
578     */
579    @Facebook
580    private Integer height;
581
582    /**
583     * HTML to embed the video in this format.
584     *
585     * @return HTML to embed the video in this format.
586     */
587    @java.lang.SuppressWarnings("all")
588    @lombok.Generated
589    public String getEmbedHtml() {
590      return this.embedHtml;
591    }
592
593    /**
594     * HTML to embed the video in this format.
595     */
596    @java.lang.SuppressWarnings("all")
597    @lombok.Generated
598    public void setEmbedHtml(final String embedHtml) {
599      this.embedHtml = embedHtml;
600    }
601
602    /**
603     * The filter applied to this video format.
604     *
605     * @return The filter applied to this video format.
606     */
607    @java.lang.SuppressWarnings("all")
608    @lombok.Generated
609    public String getFilter() {
610      return this.filter;
611    }
612
613    /**
614     * The filter applied to this video format.
615     */
616    @java.lang.SuppressWarnings("all")
617    @lombok.Generated
618    public void setFilter(final String filter) {
619      this.filter = filter;
620    }
621
622    /**
623     * The thumbnail for the video in this format.
624     *
625     * @return The thumbnail for the video in this format.
626     */
627    @java.lang.SuppressWarnings("all")
628    @lombok.Generated
629    public String getPicture() {
630      return this.picture;
631    }
632
633    /**
634     * The thumbnail for the video in this format.
635     */
636    @java.lang.SuppressWarnings("all")
637    @lombok.Generated
638    public void setPicture(final String picture) {
639      this.picture = picture;
640    }
641
642    /**
643     * The width of the video in this format.
644     *
645     * @return The width of the video in this format.
646     */
647    @java.lang.SuppressWarnings("all")
648    @lombok.Generated
649    public Integer getWidth() {
650      return this.width;
651    }
652
653    /**
654     * The width of the video in this format.
655     */
656    @java.lang.SuppressWarnings("all")
657    @lombok.Generated
658    public void setWidth(final Integer width) {
659      this.width = width;
660    }
661
662    /**
663     * The height of the video in this format.
664     *
665     * @return The height of the video in this format.
666     */
667    @java.lang.SuppressWarnings("all")
668    @lombok.Generated
669    public Integer getHeight() {
670      return this.height;
671    }
672
673    /**
674     * The height of the video in this format.
675     */
676    @java.lang.SuppressWarnings("all")
677    @lombok.Generated
678    public void setHeight(final Integer height) {
679      this.height = height;
680    }
681  }
682
683
684  /**
685   * Represents the <a href="https://developers.facebook.com/docs/graph-api/reference/video-status/">Video Status Graph
686   * API type</a>.
687   */
688  public static class VideoStatus extends AbstractFacebookType {
689    private static final long serialVersionUID = 1L;
690    /**
691     * Status of a video.
692     *
693     * Either "ready" (uploaded, encoded, thumbnails extracted), "processing" (not ready yet) or "error" (processing
694     * failed).
695     */
696    @Facebook("video_status")
697    private String videoStatus;
698    /**
699     * Video processing progress in percent [int 0 to 100].
700     */
701    @Facebook("processing_progress")
702    private Integer processingProgress;
703    /**
704     * This structure contains information about progress through the uploading phase. The bytes_transferred field can
705     * be used in conjunction with the upload endpoint to resume an interrupted upload.
706     */
707    @Facebook("uploading_phase")
708    private VideoPhase uploadingVideoPhase;
709    /**
710     * This structure contains information about progress through the processing phase. This phase encompasses
711     * generating alternate media encodings, thumbnails, and other assets necessary for publishing.
712     */
713    @Facebook("processing_phase")
714    private VideoPhase processingVideoPhase;
715    /**
716     * This structure contains information about progress through the publishing phase. This phase encompasses adding
717     * the video to the page, and if scheduled, will describe when the video is intended to be published.
718     */
719    @Facebook("publishing_phase")
720    private VideoPhase publishingVideoPhase;
721
722    /**
723     * Status of a video.
724     *
725     * Either "ready" (uploaded, encoded, thumbnails extracted), "processing" (not ready yet) or "error" (processing
726     * failed).
727     *
728     * @return Status of a video
729     */
730    @java.lang.SuppressWarnings("all")
731    @lombok.Generated
732    public String getVideoStatus() {
733      return this.videoStatus;
734    }
735
736    /**
737     * Status of a video.
738     *
739     * Either "ready" (uploaded, encoded, thumbnails extracted), "processing" (not ready yet) or "error" (processing
740     * failed).
741     */
742    @java.lang.SuppressWarnings("all")
743    @lombok.Generated
744    public void setVideoStatus(final String videoStatus) {
745      this.videoStatus = videoStatus;
746    }
747
748    /**
749     * Video processing progress in percent [int 0 to 100].
750     *
751     * @return Video processing progress in percent [int 0 to 100].
752     */
753    @java.lang.SuppressWarnings("all")
754    @lombok.Generated
755    public Integer getProcessingProgress() {
756      return this.processingProgress;
757    }
758
759    /**
760     * Video processing progress in percent [int 0 to 100].
761     */
762    @java.lang.SuppressWarnings("all")
763    @lombok.Generated
764    public void setProcessingProgress(final Integer processingProgress) {
765      this.processingProgress = processingProgress;
766    }
767
768    /**
769     * This structure contains information about progress through the uploading phase. The bytes_transferred field can
770     * be used in conjunction with the upload endpoint to resume an interrupted upload.
771     */
772    @java.lang.SuppressWarnings("all")
773    @lombok.Generated
774    public VideoPhase getUploadingVideoPhase() {
775      return this.uploadingVideoPhase;
776    }
777
778    /**
779     * This structure contains information about progress through the uploading phase. The bytes_transferred field can
780     * be used in conjunction with the upload endpoint to resume an interrupted upload.
781     */
782    @java.lang.SuppressWarnings("all")
783    @lombok.Generated
784    public void setUploadingVideoPhase(final VideoPhase uploadingVideoPhase) {
785      this.uploadingVideoPhase = uploadingVideoPhase;
786    }
787
788    /**
789     * This structure contains information about progress through the processing phase. This phase encompasses
790     * generating alternate media encodings, thumbnails, and other assets necessary for publishing.
791     */
792    @java.lang.SuppressWarnings("all")
793    @lombok.Generated
794    public VideoPhase getProcessingVideoPhase() {
795      return this.processingVideoPhase;
796    }
797
798    /**
799     * This structure contains information about progress through the processing phase. This phase encompasses
800     * generating alternate media encodings, thumbnails, and other assets necessary for publishing.
801     */
802    @java.lang.SuppressWarnings("all")
803    @lombok.Generated
804    public void setProcessingVideoPhase(final VideoPhase processingVideoPhase) {
805      this.processingVideoPhase = processingVideoPhase;
806    }
807
808    /**
809     * This structure contains information about progress through the publishing phase. This phase encompasses adding
810     * the video to the page, and if scheduled, will describe when the video is intended to be published.
811     */
812    @java.lang.SuppressWarnings("all")
813    @lombok.Generated
814    public VideoPhase getPublishingVideoPhase() {
815      return this.publishingVideoPhase;
816    }
817
818    /**
819     * This structure contains information about progress through the publishing phase. This phase encompasses adding
820     * the video to the page, and if scheduled, will describe when the video is intended to be published.
821     */
822    @java.lang.SuppressWarnings("all")
823    @lombok.Generated
824    public void setPublishingVideoPhase(final VideoPhase publishingVideoPhase) {
825      this.publishingVideoPhase = publishingVideoPhase;
826    }
827  }
828
829
830  public static class VideoPhase extends AbstractFacebookType {
831    private static final long serialVersionUID = 1L;
832    /**
833     * Status of a videoPahse.
834     *
835     * not_started, in_progress, complete, error
836     */
837    @Facebook("status")
838    private String status;
839    @Facebook("bytes_transfered")
840    private Long bytesTransfered;
841    @Facebook("publish_status")
842    private String publishStatus;
843    @Facebook("publish_time")
844    private Date publishTime;
845    @Facebook("errors")
846    private List<VideoPhaseError> errors;
847
848    /**
849     * Status of a videoPahse.
850     *
851     * not_started, in_progress, complete, error
852     *
853     * @return Status of a videoPhase
854     */
855    @java.lang.SuppressWarnings("all")
856    @lombok.Generated
857    public String getStatus() {
858      return this.status;
859    }
860
861    /**
862     * Status of a videoPahse.
863     *
864     * not_started, in_progress, complete, error
865     */
866    @java.lang.SuppressWarnings("all")
867    @lombok.Generated
868    public void setStatus(final String status) {
869      this.status = status;
870    }
871
872    @java.lang.SuppressWarnings("all")
873    @lombok.Generated
874    public Long getBytesTransfered() {
875      return this.bytesTransfered;
876    }
877
878    @java.lang.SuppressWarnings("all")
879    @lombok.Generated
880    public void setBytesTransfered(final Long bytesTransfered) {
881      this.bytesTransfered = bytesTransfered;
882    }
883
884    @java.lang.SuppressWarnings("all")
885    @lombok.Generated
886    public String getPublishStatus() {
887      return this.publishStatus;
888    }
889
890    @java.lang.SuppressWarnings("all")
891    @lombok.Generated
892    public void setPublishStatus(final String publishStatus) {
893      this.publishStatus = publishStatus;
894    }
895
896    @java.lang.SuppressWarnings("all")
897    @lombok.Generated
898    public Date getPublishTime() {
899      return this.publishTime;
900    }
901
902    @java.lang.SuppressWarnings("all")
903    @lombok.Generated
904    public void setPublishTime(final Date publishTime) {
905      this.publishTime = publishTime;
906    }
907
908    @java.lang.SuppressWarnings("all")
909    @lombok.Generated
910    public List<VideoPhaseError> getErrors() {
911      return this.errors;
912    }
913
914    @java.lang.SuppressWarnings("all")
915    @lombok.Generated
916    public void setErrors(final List<VideoPhaseError> errors) {
917      this.errors = errors;
918    }
919  }
920
921
922  public static class VideoPhaseError extends AbstractFacebookType {
923    private static final long serialVersionUID = 1L;
924    @Facebook("code")
925    private Long code; // error code
926    @Facebook("message")
927    private String message; // error message
928
929    @java.lang.SuppressWarnings("all")
930    @lombok.Generated
931    public Long getCode() {
932      return this.code;
933    }
934
935    @java.lang.SuppressWarnings("all")
936    @lombok.Generated
937    public void setCode(final Long code) {
938      this.code = code;
939    }
940
941    @java.lang.SuppressWarnings("all")
942    @lombok.Generated
943    public String getMessage() {
944      return this.message;
945    }
946
947    @java.lang.SuppressWarnings("all")
948    @lombok.Generated
949    public void setMessage(final String message) {
950      this.message = message;
951    }
952  }
953
954  /**
955   * An object containing the name and ID of the user who posted the video.
956   *
957   * @return An object containing the name and ID of the user who posted the video.
958   */
959  @java.lang.SuppressWarnings("all")
960  @lombok.Generated
961  public From getFrom() {
962    return this.from;
963  }
964
965  /**
966   * An object containing the name and ID of the user who posted the video.
967   */
968  @java.lang.SuppressWarnings("all")
969  @lombok.Generated
970  public void setFrom(final From from) {
971    this.from = from;
972  }
973
974  /**
975   * The video title / caption.
976   *
977   * @return The video title / caption.
978   * @deprecated FB seems to have removed this field.
979   */
980  @java.lang.Deprecated
981  @Override
982  @java.lang.SuppressWarnings("all")
983  @lombok.Generated
984  public String getMessage() {
985    return this.message;
986  }
987
988  /**
989   * The video title / caption.
990   *
991   * @deprecated FB seems to have removed this field.
992   */
993  @java.lang.Deprecated
994  @java.lang.SuppressWarnings("all")
995  @lombok.Generated
996  public void setMessage(final String message) {
997    this.message = message;
998  }
999
1000  /**
1001   * The comments for this video.
1002   *
1003   * @return The comments for this video.
1004   */
1005  @Override
1006  @java.lang.SuppressWarnings("all")
1007  @lombok.Generated
1008  public Comments getComments() {
1009    return this.comments;
1010  }
1011
1012  /**
1013   * The comments for this video.
1014   */
1015  @java.lang.SuppressWarnings("all")
1016  @lombok.Generated
1017  public void setComments(final Comments comments) {
1018    this.comments = comments;
1019  }
1020
1021  /**
1022   * The long-form HTML description of the video.
1023   *
1024   * @return The long-form HTML description of the video.
1025   */
1026  @java.lang.SuppressWarnings("all")
1027  @lombok.Generated
1028  public String getDescription() {
1029    return this.description;
1030  }
1031
1032  /**
1033   * The long-form HTML description of the video.
1034   */
1035  @java.lang.SuppressWarnings("all")
1036  @lombok.Generated
1037  public void setDescription(final String description) {
1038    this.description = description;
1039  }
1040
1041  /**
1042   * URL to the permalink page of the video
1043   *
1044   * @return URL to the permalink page of the video
1045   */
1046  @java.lang.SuppressWarnings("all")
1047  @lombok.Generated
1048  public String getPermalinkUrl() {
1049    return this.permalinkUrl;
1050  }
1051
1052  /**
1053   * URL to the permalink page of the video
1054   */
1055  @java.lang.SuppressWarnings("all")
1056  @lombok.Generated
1057  public void setPermalinkUrl(final String permalinkUrl) {
1058    this.permalinkUrl = permalinkUrl;
1059  }
1060
1061  /**
1062   * The video title or caption
1063   *
1064   * @return the video title or caption
1065   */
1066  @GraphAPI(since = "2.5")
1067  @java.lang.SuppressWarnings("all")
1068  @lombok.Generated
1069  public String getTitle() {
1070    return this.title;
1071  }
1072
1073  /**
1074   * The video title or caption
1075   */
1076  @java.lang.SuppressWarnings("all")
1077  @lombok.Generated
1078  public void setTitle(final String title) {
1079    this.title = title;
1080  }
1081
1082  @java.lang.SuppressWarnings("all")
1083  @lombok.Generated
1084  public Boolean getIsCrosspostVideo() {
1085    return this.isCrosspostVideo;
1086  }
1087
1088  @java.lang.SuppressWarnings("all")
1089  @lombok.Generated
1090  public void setIsCrosspostVideo(final Boolean isCrosspostVideo) {
1091    this.isCrosspostVideo = isCrosspostVideo;
1092  }
1093
1094  /**
1095   * Specifies if the video is eligible for crossposting.
1096   *
1097   * @return Specifies if the video is eligible for crossposting
1098   */
1099  @GraphAPI(since = "2.6")
1100  @java.lang.SuppressWarnings("all")
1101  @lombok.Generated
1102  public Boolean getIsCrosspostingEligible() {
1103    return this.isCrosspostingEligible;
1104  }
1105
1106  /**
1107   * Specifies if the video is eligible for crossposting.
1108   */
1109  @java.lang.SuppressWarnings("all")
1110  @lombok.Generated
1111  public void setIsCrosspostingEligible(final Boolean isCrosspostingEligible) {
1112    this.isCrosspostingEligible = isCrosspostingEligible;
1113  }
1114
1115  /**
1116   * Whether this video is episode or not.
1117   *
1118   * @return Whether this video is episode or not.
1119   */
1120  @java.lang.SuppressWarnings("all")
1121  @lombok.Generated
1122  public Boolean getIsEpisode() {
1123    return this.isEpisode;
1124  }
1125
1126  /**
1127   * Whether this video is episode or not.
1128   */
1129  @java.lang.SuppressWarnings("all")
1130  @lombok.Generated
1131  public void setIsEpisode(final Boolean isEpisode) {
1132    this.isEpisode = isEpisode;
1133  }
1134
1135  /**
1136   * Whether the video is eligible to be promoted on Instagram
1137   *
1138   * @return Whether the video is eligible to be promoted on Instagram
1139   */
1140  @java.lang.SuppressWarnings("all")
1141  @lombok.Generated
1142  public Boolean getIsInstagramEligible() {
1143    return this.isInstagramEligible;
1144  }
1145
1146  /**
1147   * Whether the video is eligible to be promoted on Instagram
1148   */
1149  @java.lang.SuppressWarnings("all")
1150  @lombok.Generated
1151  public void setIsInstagramEligible(final Boolean isInstagramEligible) {
1152    this.isInstagramEligible = isInstagramEligible;
1153  }
1154
1155  /**
1156   * Whether the video is exclusively used for copyright monitoring.
1157   *
1158   * @return Whether the video is exclusively used for copyright monitoring
1159   */
1160  @java.lang.SuppressWarnings("all")
1161  @lombok.Generated
1162  public Boolean getIsReferenceOnly() {
1163    return this.isReferenceOnly;
1164  }
1165
1166  /**
1167   * Whether the video is exclusively used for copyright monitoring.
1168   */
1169  @java.lang.SuppressWarnings("all")
1170  @lombok.Generated
1171  public void setIsReferenceOnly(final Boolean isReferenceOnly) {
1172    this.isReferenceOnly = isReferenceOnly;
1173  }
1174
1175  /**
1176   * The music video copyright of this video
1177   *
1178   * because of a missing object description in the graph reference, we use a Map here
1179   */
1180  @java.lang.SuppressWarnings("all")
1181  @lombok.Generated
1182  public MusicVideoCopyright getMusicVideoCopyright() {
1183    return this.musicVideoCopyright;
1184  }
1185
1186  /**
1187   * The music video copyright of this video
1188   *
1189   * because of a missing object description in the graph reference, we use a Map here
1190   */
1191  @java.lang.SuppressWarnings("all")
1192  @lombok.Generated
1193  public void setMusicVideoCopyright(final MusicVideoCopyright musicVideoCopyright) {
1194    this.musicVideoCopyright = musicVideoCopyright;
1195  }
1196
1197  /**
1198   * The public view count of the video post, not aggregated with any other crossposts of the video.
1199   */
1200  @java.lang.SuppressWarnings("all")
1201  @lombok.Generated
1202  public Integer getPostViews() {
1203    return this.postViews;
1204  }
1205
1206  /**
1207   * The public view count of the video post, not aggregated with any other crossposts of the video.
1208   */
1209  @java.lang.SuppressWarnings("all")
1210  @lombok.Generated
1211  public void setPostViews(final Integer postViews) {
1212    this.postViews = postViews;
1213  }
1214
1215  /**
1216   * The reactions for this video.
1217   *
1218   * @return The reactions for this video.
1219   */
1220  @java.lang.SuppressWarnings("all")
1221  @lombok.Generated
1222  public Reactions getReactions() {
1223    return this.reactions;
1224  }
1225
1226  /**
1227   * The reactions for this video.
1228   */
1229  @java.lang.SuppressWarnings("all")
1230  @lombok.Generated
1231  public void setReactions(final Reactions reactions) {
1232    this.reactions = reactions;
1233  }
1234
1235  /**
1236   * Whether the video is embeddable.
1237   *
1238   * @return Whether the video is embeddable.
1239   */
1240  @GraphAPI(since = "2.4")
1241  @java.lang.SuppressWarnings("all")
1242  @lombok.Generated
1243  public Boolean getEmbeddable() {
1244    return this.embeddable;
1245  }
1246
1247  /**
1248   * Whether the video is embeddable.
1249   */
1250  @java.lang.SuppressWarnings("all")
1251  @lombok.Generated
1252  public void setEmbeddable(final Boolean embeddable) {
1253    this.embeddable = embeddable;
1254  }
1255
1256  /**
1257   * If this object has a place, the event associated with the place.
1258   *
1259   * @return the event associated with the place
1260   */
1261  @GraphAPI(since = "2.3")
1262  @java.lang.SuppressWarnings("all")
1263  @lombok.Generated
1264  public Event getEvent() {
1265    return this.event;
1266  }
1267
1268  /**
1269   * If this object has a place, the event associated with the place.
1270   */
1271  @java.lang.SuppressWarnings("all")
1272  @lombok.Generated
1273  public void setEvent(final Event event) {
1274    this.event = event;
1275  }
1276
1277  /**
1278   * Whether or not the video is highlighted in Video Channel.
1279   *
1280   * @return Whether or not the video is highlighted in Video Channel.
1281   */
1282  @GraphAPI(since = "2.7")
1283  @java.lang.SuppressWarnings("all")
1284  @lombok.Generated
1285  public String getFeedType() {
1286    return this.feedType;
1287  }
1288
1289  /**
1290   * Whether or not the video is highlighted in Video Channel.
1291   */
1292  @java.lang.SuppressWarnings("all")
1293  @lombok.Generated
1294  public void setFeedType(final String feedType) {
1295    this.feedType = feedType;
1296  }
1297
1298  /**
1299   * The publishers asset management code for this video.
1300   */
1301  @java.lang.SuppressWarnings("all")
1302  @lombok.Generated
1303  public String getUniversalVideoId() {
1304    return this.universalVideoId;
1305  }
1306
1307  /**
1308   * The publishers asset management code for this video.
1309   */
1310  @java.lang.SuppressWarnings("all")
1311  @lombok.Generated
1312  public void setUniversalVideoId(final String universalVideoId) {
1313    this.universalVideoId = universalVideoId;
1314  }
1315
1316  /**
1317   * The public view count of the video.
1318   */
1319  @java.lang.SuppressWarnings("all")
1320  @lombok.Generated
1321  public Integer getViews() {
1322    return this.views;
1323  }
1324
1325  /**
1326   * The public view count of the video.
1327   */
1328  @java.lang.SuppressWarnings("all")
1329  @lombok.Generated
1330  public void setViews(final Integer views) {
1331    this.views = views;
1332  }
1333
1334  /**
1335   * People who like this.
1336   *
1337   * you need to add the field to the fields query parameter to get the likes list otherwise null is returned
1338   *
1339   * @return People who like this
1340   */
1341  @java.lang.SuppressWarnings("all")
1342  @lombok.Generated
1343  public Likes getLikes() {
1344    return this.likes;
1345  }
1346
1347  /**
1348   * People who like this.
1349   *
1350   * you need to add the field to the fields query parameter to get the likes list otherwise null is returned
1351   */
1352  @java.lang.SuppressWarnings("all")
1353  @lombok.Generated
1354  public void setLikes(final Likes likes) {
1355    this.likes = likes;
1356  }
1357
1358  /**
1359   * Location associated with the video, if any.
1360   *
1361   * @return Location associated with the video, if any.
1362   */
1363  @java.lang.SuppressWarnings("all")
1364  @lombok.Generated
1365  public Place getPlace() {
1366    return this.place;
1367  }
1368
1369  /**
1370   * Location associated with the video, if any.
1371   */
1372  @java.lang.SuppressWarnings("all")
1373  @lombok.Generated
1374  public void setPlace(final Place place) {
1375    this.place = place;
1376  }
1377
1378  /**
1379   * identifier of the post this video belongs to
1380   */
1381  @java.lang.SuppressWarnings("all")
1382  @lombok.Generated
1383  public String getPostId() {
1384    return this.postId;
1385  }
1386
1387  /**
1388   * identifier of the post this video belongs to
1389   */
1390  @java.lang.SuppressWarnings("all")
1391  @lombok.Generated
1392  public void setPostId(final String postId) {
1393    this.postId = postId;
1394  }
1395
1396  /**
1397   * The content category of this video.
1398   *
1399   * @return The content category of this video.
1400   */
1401  @GraphAPI(since = "2.4")
1402  @java.lang.SuppressWarnings("all")
1403  @lombok.Generated
1404  public String getContentCategory() {
1405    return this.contentCategory;
1406  }
1407
1408  /**
1409   * The content category of this video.
1410   */
1411  @java.lang.SuppressWarnings("all")
1412  @lombok.Generated
1413  public void setContentCategory(final String contentCategory) {
1414    this.contentCategory = contentCategory;
1415  }
1416
1417  /**
1418   * A URL for the thumbnail picture of the video.
1419   *
1420   * @return A URL for the thumbnail picture of the video.
1421   */
1422  @java.lang.SuppressWarnings("all")
1423  @lombok.Generated
1424  public String getPicture() {
1425    return this.picture;
1426  }
1427
1428  /**
1429   * A URL for the thumbnail picture of the video.
1430   */
1431  @java.lang.SuppressWarnings("all")
1432  @lombok.Generated
1433  public void setPicture(final String picture) {
1434    this.picture = picture;
1435  }
1436
1437  /**
1438   * An icon URL which represents the video.
1439   *
1440   * @return An icon URL which represents the video.
1441   */
1442  @java.lang.SuppressWarnings("all")
1443  @lombok.Generated
1444  public String getIcon() {
1445    return this.icon;
1446  }
1447
1448  /**
1449   * An icon URL which represents the video.
1450   */
1451  @java.lang.SuppressWarnings("all")
1452  @lombok.Generated
1453  public void setIcon(final String icon) {
1454    this.icon = icon;
1455  }
1456
1457  /**
1458   * A URL to the raw, playable video file.
1459   *
1460   * @return A URL to the raw, playable video file.
1461   * @since 1.6.5
1462   */
1463  @java.lang.SuppressWarnings("all")
1464  @lombok.Generated
1465  public String getSource() {
1466    return this.source;
1467  }
1468
1469  /**
1470   * A URL to the raw, playable video file.
1471   *
1472   * @since 1.6.5
1473   */
1474  @java.lang.SuppressWarnings("all")
1475  @lombok.Generated
1476  public void setSource(final String source) {
1477    this.source = source;
1478  }
1479
1480  /**
1481   * HTML that may be used to embed the video on another website.
1482   *
1483   * @return HTML that may be used to embed the video on another website.
1484   */
1485  @java.lang.SuppressWarnings("all")
1486  @lombok.Generated
1487  public String getEmbedHtml() {
1488    return this.embedHtml;
1489  }
1490
1491  /**
1492   * HTML that may be used to embed the video on another website.
1493   */
1494  @java.lang.SuppressWarnings("all")
1495  @lombok.Generated
1496  public void setEmbedHtml(final String embedHtml) {
1497    this.embedHtml = embedHtml;
1498  }
1499
1500  /**
1501   * The length of the video, in seconds.
1502   *
1503   * @return The length of the video, in seconds.
1504   */
1505  @java.lang.SuppressWarnings("all")
1506  @lombok.Generated
1507  public Double getLength() {
1508    return this.length;
1509  }
1510
1511  /**
1512   * The length of the video, in seconds.
1513   */
1514  @java.lang.SuppressWarnings("all")
1515  @lombok.Generated
1516  public void setLength(final Double length) {
1517    this.length = length;
1518  }
1519
1520  /**
1521   * Number of unique people who watched the video broadcast when it was live.
1522   *
1523   * @return Number of unique people who watched the video broadcast when it was live.
1524   */
1525  @GraphAPI(since = "2.6")
1526  @java.lang.SuppressWarnings("all")
1527  @lombok.Generated
1528  public Integer getLiveAudienceCount() {
1529    return this.liveAudienceCount;
1530  }
1531
1532  /**
1533   * Number of unique people who watched the video broadcast when it was live.
1534   */
1535  @java.lang.SuppressWarnings("all")
1536  @lombok.Generated
1537  public void setLiveAudienceCount(final Integer liveAudienceCount) {
1538    this.liveAudienceCount = liveAudienceCount;
1539  }
1540
1541  /**
1542   * The live status of the video.
1543   *
1544   * Possible values contain LIVE, LIVE_STOPPED, VOD
1545   *
1546   * @return The live status of the video
1547   */
1548  @GraphAPI(since = "2.6")
1549  @java.lang.SuppressWarnings("all")
1550  @lombok.Generated
1551  public String getLiveStatus() {
1552    return this.liveStatus;
1553  }
1554
1555  /**
1556   * The live status of the video.
1557   *
1558   * Possible values contain LIVE, LIVE_STOPPED, VOD
1559   */
1560  @java.lang.SuppressWarnings("all")
1561  @lombok.Generated
1562  public void setLiveStatus(final String liveStatus) {
1563    this.liveStatus = liveStatus;
1564  }
1565
1566  /**
1567   * Privacy setting for the video.
1568   *
1569   * @return Privacy setting for the video.
1570   */
1571  @java.lang.SuppressWarnings("all")
1572  @lombok.Generated
1573  public Privacy getPrivacy() {
1574    return this.privacy;
1575  }
1576
1577  /**
1578   * Privacy setting for the video.
1579   */
1580  @java.lang.SuppressWarnings("all")
1581  @lombok.Generated
1582  public void setPrivacy(final Privacy privacy) {
1583    this.privacy = privacy;
1584  }
1585
1586  /**
1587   * The status of the Premiere Watch Party, if any
1588   */
1589  @java.lang.SuppressWarnings("all")
1590  @lombok.Generated
1591  public String getPremiereLivingRoomStatus() {
1592    return this.premiereLivingRoomStatus;
1593  }
1594
1595  /**
1596   * The status of the Premiere Watch Party, if any
1597   */
1598  @java.lang.SuppressWarnings("all")
1599  @lombok.Generated
1600  public void setPremiereLivingRoomStatus(final String premiereLivingRoomStatus) {
1601    this.premiereLivingRoomStatus = premiereLivingRoomStatus;
1602  }
1603
1604  /**
1605   * Object describing the status attributes of a video.
1606   *
1607   * @return Object describing the status attributes of a video.
1608   */
1609  @java.lang.SuppressWarnings("all")
1610  @lombok.Generated
1611  public VideoStatus getStatus() {
1612    return this.status;
1613  }
1614
1615  /**
1616   * Object describing the status attributes of a video.
1617   */
1618  @java.lang.SuppressWarnings("all")
1619  @lombok.Generated
1620  public void setStatus(final VideoStatus status) {
1621    this.status = status;
1622  }
1623
1624  /**
1625   * Whether a post about this video is published.
1626   *
1627   * This field is only accessible in Graph API 2.3 or later.
1628   *
1629   * @return whether a post about this video is published.
1630   * @since 1.10.0
1631   */
1632  @GraphAPI(since = "2.3")
1633  @java.lang.SuppressWarnings("all")
1634  @lombok.Generated
1635  public Boolean getPublished() {
1636    return this.published;
1637  }
1638
1639  /**
1640   * Whether a post about this video is published.
1641   *
1642   * This field is only accessible in Graph API 2.3 or later.
1643   *
1644   * @since 1.10.0
1645   */
1646  @java.lang.SuppressWarnings("all")
1647  @lombok.Generated
1648  public void setPublished(final Boolean published) {
1649    this.published = published;
1650  }
1651
1652  /**
1653   * Back dated time
1654   *
1655   * @since 1.10.0
1656   */
1657  @java.lang.SuppressWarnings("all")
1658  @lombok.Generated
1659  public Date getBackdatedTime() {
1660    return this.backdatedTime;
1661  }
1662
1663  /**
1664   * Back dated time
1665   *
1666   * @since 1.10.0
1667   */
1668  @java.lang.SuppressWarnings("all")
1669  @lombok.Generated
1670  public void setBackdatedTime(final Date backdatedTime) {
1671    this.backdatedTime = backdatedTime;
1672  }
1673
1674  /**
1675   * String that represents the back dated time granularity
1676   *
1677   * @since 1.10.0
1678   */
1679  @java.lang.SuppressWarnings("all")
1680  @lombok.Generated
1681  public String getBackdatedTimeGranularity() {
1682    return this.backdatedTimeGranularity;
1683  }
1684
1685  /**
1686   * String that represents the back dated time granularity
1687   *
1688   * @since 1.10.0
1689   */
1690  @java.lang.SuppressWarnings("all")
1691  @lombok.Generated
1692  public void setBackdatedTimeGranularity(final String backdatedTimeGranularity) {
1693    this.backdatedTimeGranularity = backdatedTimeGranularity;
1694  }
1695
1696  /**
1697   * Shows whether the video is eligible to be boosted or not
1698   */
1699  @java.lang.SuppressWarnings("all")
1700  @lombok.Generated
1701  public VideoBoostEligibilityInfo getBoostEligibilityInfo() {
1702    return this.boostEligibilityInfo;
1703  }
1704
1705  /**
1706   * Shows whether the video is eligible to be boosted or not
1707   */
1708  @java.lang.SuppressWarnings("all")
1709  @lombok.Generated
1710  public void setBoostEligibilityInfo(final VideoBoostEligibilityInfo boostEligibilityInfo) {
1711    this.boostEligibilityInfo = boostEligibilityInfo;
1712  }
1713
1714  /**
1715   * The time the video was initially published.
1716   *
1717   * @return The time the video was initially published.
1718   */
1719  @Override
1720  @java.lang.SuppressWarnings("all")
1721  @lombok.Generated
1722  public Date getCreatedTime() {
1723    return this.createdTime;
1724  }
1725
1726  /**
1727   * The time the video was initially published.
1728   */
1729  @java.lang.SuppressWarnings("all")
1730  @lombok.Generated
1731  public void setCreatedTime(final Date createdTime) {
1732    this.createdTime = createdTime;
1733  }
1734
1735  /**
1736   * The last time the video or its caption were updated.
1737   *
1738   * @return The last time the video or its caption were updated.
1739   */
1740  @java.lang.SuppressWarnings("all")
1741  @lombok.Generated
1742  public Date getUpdatedTime() {
1743    return this.updatedTime;
1744  }
1745
1746  /**
1747   * The last time the video or its caption were updated.
1748   */
1749  @java.lang.SuppressWarnings("all")
1750  @lombok.Generated
1751  public void setUpdatedTime(final Date updatedTime) {
1752    this.updatedTime = updatedTime;
1753  }
1754
1755  /**
1756   * The time that the video is scheduled to be published.
1757   *
1758   * This field is only accessible in Graph API 2.3 or later.
1759   *
1760   * @return The time that the video is scheduled to be published.
1761   * @since 1.10.0
1762   */
1763  @GraphAPI(since = "2.3")
1764  @java.lang.SuppressWarnings("all")
1765  @lombok.Generated
1766  public Date getScheduledPublishTime() {
1767    return this.scheduledPublishTime;
1768  }
1769
1770  /**
1771   * The time that the video is scheduled to be published.
1772   *
1773   * This field is only accessible in Graph API 2.3 or later.
1774   *
1775   * @since 1.10.0
1776   */
1777  @java.lang.SuppressWarnings("all")
1778  @lombok.Generated
1779  public void setScheduledPublishTime(final Date scheduledPublishTime) {
1780    this.scheduledPublishTime = scheduledPublishTime;
1781  }
1782
1783  @java.lang.SuppressWarnings("all")
1784  @lombok.Generated
1785  public Connection<Insight> getVideoInsights() {
1786    return this.videoInsights;
1787  }
1788
1789  @java.lang.SuppressWarnings("all")
1790  @lombok.Generated
1791  public void setVideoInsights(final Connection<Insight> videoInsights) {
1792    this.videoInsights = videoInsights;
1793  }
1794
1795  @java.lang.SuppressWarnings("all")
1796  @lombok.Generated
1797  public Connection<Thumbnail> getThumbnails() {
1798    return this.thumbnails;
1799  }
1800
1801  @java.lang.SuppressWarnings("all")
1802  @lombok.Generated
1803  public void setThumbnails(final Connection<Thumbnail> thumbnails) {
1804    this.thumbnails = thumbnails;
1805  }
1806}