001// Generated by delombok at Sun Apr 14 14:59:49 CEST 2024
002/*
003 * Copyright (c) 2010-2024 Mark Allen, Norbert Bartels.
004 *
005 * Permission is hereby granted, free of charge, to any person obtaining a copy
006 * of this software and associated documentation files (the "Software"), to deal
007 * in the Software without restriction, including without limitation the rights
008 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
009 * copies of the Software, and to permit persons to whom the Software is
010 * furnished to do so, subject to the following conditions:
011 *
012 * The above copyright notice and this permission notice shall be included in
013 * all copies or substantial portions of the Software.
014 *
015 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
016 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
017 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
018 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
019 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
020 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
021 * THE SOFTWARE.
022 */
023package com.restfb.types;
024
025import com.restfb.BinaryAttachment;
026
027/**
028 * Attachment object for uploading a Reel to Facebook.
029 *
030 * <p>
031 * use {@code withByteContent} for sending a binary attachment and {@code withUrl} if the URL is given instead
032 */
033public class FacebookReelAttachment extends BinaryAttachment {
034  private String reelUrl;
035
036  protected FacebookReelAttachment(byte[] byteData) {
037    data = byteData;
038  }
039
040  protected FacebookReelAttachment(String reelUrl) {
041    this.reelUrl = reelUrl;
042  }
043
044  public static FacebookReelAttachment withByteContent(byte[] reelData) {
045    return new FacebookReelAttachment(reelData);
046  }
047
048  public static FacebookReelAttachment withUrl(String reelUrl) {
049    return new FacebookReelAttachment(reelUrl);
050  }
051
052  @Override
053  public boolean isFacebookReel() {
054    return true;
055  }
056
057  public boolean isBinary() {
058    return data != null;
059  }
060
061  public int getFileSizeInBytes() {
062    if (data != null) {
063      return data.length;
064    }
065    return 0;
066  }
067
068  @java.lang.SuppressWarnings("all")
069  public String getReelUrl() {
070    return this.reelUrl;
071  }
072}