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.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  @lombok.Generated
070  public WebviewHeightEnum getWebviewHeightRatio() {
071    return this.webviewHeightRatio;
072  }
073
074  @java.lang.SuppressWarnings("all")
075  @lombok.Generated
076  public void setWebviewHeightRatio(final WebviewHeightEnum webviewHeightRatio) {
077    this.webviewHeightRatio = webviewHeightRatio;
078  }
079
080  @java.lang.SuppressWarnings("all")
081  @lombok.Generated
082  public String getUrl() {
083    return this.url;
084  }
085
086  @java.lang.SuppressWarnings("all")
087  @lombok.Generated
088  public Boolean getMessengerExtensions() {
089    return this.messengerExtensions;
090  }
091
092  @java.lang.SuppressWarnings("all")
093  @lombok.Generated
094  public String getFallbackUrl() {
095    return this.fallbackUrl;
096  }
097}