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.send;
024
025import com.restfb.Facebook;
026
027public class WebButton extends AbstractButton implements MenuItem {
028  @Facebook("webview_height_ratio")
029  private WebviewHeightEnum webviewHeightRatio;
030  @Facebook
031  private String url;
032  @Facebook("messenger_extensions")
033  private Boolean messengerExtensions;
034  @Facebook("fallback_url")
035  private String fallbackUrl;
036  @Facebook("webview_share_button")
037  private String webviewShareButton;
038
039  public WebButton(String title, String webUrl) {
040    super(title);
041    setType("web_url");
042    this.url = webUrl;
043  }
044
045  public void setMessengerExtensions(boolean withMessengerExtensions, String fallbackUrl) {
046    if (withMessengerExtensions) {
047      this.messengerExtensions = true;
048      this.fallbackUrl = fallbackUrl;
049    } else {
050      messengerExtensions = null;
051      this.fallbackUrl = null;
052    }
053  }
054
055  /**
056   * Set to {@code true} to disable sharing in the webview (for sensitive info).
057   * 
058   * @param disable
059   */
060  public void setDisableSharing(boolean disable) {
061    if (disable) {
062      webviewShareButton = "hide";
063    } else {
064      webviewShareButton = null;
065    }
066  }
067
068  @java.lang.SuppressWarnings("all")
069  public WebviewHeightEnum getWebviewHeightRatio() {
070    return this.webviewHeightRatio;
071  }
072
073  @java.lang.SuppressWarnings("all")
074  public void setWebviewHeightRatio(final WebviewHeightEnum webviewHeightRatio) {
075    this.webviewHeightRatio = webviewHeightRatio;
076  }
077
078  @java.lang.SuppressWarnings("all")
079  public String getUrl() {
080    return this.url;
081  }
082
083  @java.lang.SuppressWarnings("all")
084  public Boolean getMessengerExtensions() {
085    return this.messengerExtensions;
086  }
087
088  @java.lang.SuppressWarnings("all")
089  public String getFallbackUrl() {
090    return this.fallbackUrl;
091  }
092}