001// Generated by delombok at Sun Sep 26 16:30:34 CEST 2021
002/*
003 * Copyright (c) 2010-2021 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)} for 'location' use {@link QuickReply#QuickReply()}
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  /**
059   * @deprecated use {@link QuickReply#QuickReply(QuickReplyType)} with {@link QuickReplyType#LOCATION} as parameter instead
060   */
061  @Deprecated
062  public QuickReply() {
063    this(QuickReplyType.LOCATION);
064  }
065
066  public QuickReply(QuickReplyType quickReplyType) {
067    this.contentType = quickReplyType.getContentType();
068  }
069
070
071  public enum QuickReplyType {
072    USER_EMAIL, USER_PHONE_NUMBER, 
073    /**
074     * @TODO: remove after October 29th, 2019
075     */
076    @Deprecated
077    LOCATION;
078
079    public String getContentType() {
080      return name().toLowerCase();
081    }
082  }
083
084  @java.lang.SuppressWarnings("all")
085  public String getContentType() {
086    return this.contentType;
087  }
088
089  @java.lang.SuppressWarnings("all")
090  public String getTitle() {
091    return this.title;
092  }
093
094  @java.lang.SuppressWarnings("all")
095  public String getPayload() {
096    return this.payload;
097  }
098
099  @java.lang.SuppressWarnings("all")
100  public String getImageUrl() {
101    return this.imageUrl;
102  }
103
104  @java.lang.SuppressWarnings("all")
105  public void setImageUrl(final String imageUrl) {
106    this.imageUrl = imageUrl;
107  }
108}