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;
026import com.restfb.types.AbstractFacebookType;
027
028/**
029 * Represents the
030 * <a href="https://developers.facebook.com/docs/messenger-platform/send-api-reference/quick-replies">Quick Reply</a>
031 */
032public class QuickReply extends AbstractFacebookType {
033  @Facebook("content_type")
034  private String contentType;
035  @Facebook
036  private String title;
037  @Facebook
038  private String payload;
039  @Facebook("image_url")
040  private String imageUrl;
041
042  /**
043   * @deprecated use constructor without contenttype instead. If using content type 'text' use
044   *             {@link QuickReply#QuickReply(String,String)}
045   */
046  @Deprecated
047  public QuickReply(String contentType, String title, String payload) {
048    this(title, payload);
049    this.contentType = contentType;
050  }
051
052  public QuickReply(String title, String payload) {
053    this.contentType = "text";
054    this.title = title;
055    this.payload = payload;
056  }
057
058  public QuickReply(QuickReplyType quickReplyType) {
059    this.contentType = quickReplyType.getContentType();
060  }
061
062
063  public enum QuickReplyType {
064    USER_EMAIL, USER_PHONE_NUMBER;
065
066    public String getContentType() {
067      return name().toLowerCase();
068    }
069  }
070
071  @java.lang.SuppressWarnings("all")
072  public String getContentType() {
073    return this.contentType;
074  }
075
076  @java.lang.SuppressWarnings("all")
077  public String getTitle() {
078    return this.title;
079  }
080
081  @java.lang.SuppressWarnings("all")
082  public String getPayload() {
083    return this.payload;
084  }
085
086  @java.lang.SuppressWarnings("all")
087  public String getImageUrl() {
088    return this.imageUrl;
089  }
090
091  @java.lang.SuppressWarnings("all")
092  public void setImageUrl(final String imageUrl) {
093    this.imageUrl = imageUrl;
094  }
095}