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.whatsapp;
024
025import java.util.List;
026import com.restfb.Facebook;
027import com.restfb.types.AbstractFacebookType;
028
029public class WhatsAppMessageTemplateComponent extends AbstractFacebookType {
030  @Facebook
031  private Type type;
032  @Facebook
033  private Format format;
034  @Facebook
035  private String text;
036  @Facebook
037  private List<Button> buttons;
038
039
040  public enum Type {
041    HEADER, BODY, FOOTER, BUTTONS;
042  }
043
044
045  public enum Format {
046    TEXT, IMAGE, DOCUMENT, VIDEO, LOCATION;
047  }
048
049
050  public enum ButtonType {
051    QUICK_REPLY, URL, PHONE_NUMBER;
052  }
053
054
055  public static class Button {
056    @Facebook
057    private ButtonType type;
058    @Facebook
059    private String text;
060    @Facebook
061    private String url;
062    @Facebook("phone_number")
063    private String phoneNumber;
064
065    @java.lang.SuppressWarnings("all")
066    public ButtonType getType() {
067      return this.type;
068    }
069
070    @java.lang.SuppressWarnings("all")
071    public void setType(final ButtonType type) {
072      this.type = type;
073    }
074
075    @java.lang.SuppressWarnings("all")
076    public String getText() {
077      return this.text;
078    }
079
080    @java.lang.SuppressWarnings("all")
081    public void setText(final String text) {
082      this.text = text;
083    }
084
085    @java.lang.SuppressWarnings("all")
086    public String getUrl() {
087      return this.url;
088    }
089
090    @java.lang.SuppressWarnings("all")
091    public void setUrl(final String url) {
092      this.url = url;
093    }
094
095    @java.lang.SuppressWarnings("all")
096    public String getPhoneNumber() {
097      return this.phoneNumber;
098    }
099
100    @java.lang.SuppressWarnings("all")
101    public void setPhoneNumber(final String phoneNumber) {
102      this.phoneNumber = phoneNumber;
103    }
104  }
105
106  @java.lang.SuppressWarnings("all")
107  public Type getType() {
108    return this.type;
109  }
110
111  @java.lang.SuppressWarnings("all")
112  public void setType(final Type type) {
113    this.type = type;
114  }
115
116  @java.lang.SuppressWarnings("all")
117  public Format getFormat() {
118    return this.format;
119  }
120
121  @java.lang.SuppressWarnings("all")
122  public void setFormat(final Format format) {
123    this.format = format;
124  }
125
126  @java.lang.SuppressWarnings("all")
127  public String getText() {
128    return this.text;
129  }
130
131  @java.lang.SuppressWarnings("all")
132  public void setText(final String text) {
133    this.text = text;
134  }
135
136  @java.lang.SuppressWarnings("all")
137  public List<Button> getButtons() {
138    return this.buttons;
139  }
140
141  @java.lang.SuppressWarnings("all")
142  public void setButtons(final List<Button> buttons) {
143    this.buttons = buttons;
144  }
145}