001// Generated by delombok at Tue Dec 10 13:42:03 UTC 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 <a href="https://developers.facebook.com/docs/messenger-platform/reference/buttons/game-play">Game
030 * Play Button</a> type
031 */
032public class GamePlayButton extends AbstractButton {
033  @Facebook
034  private String payload;
035  @Facebook("game_metadata")
036  private GameMetadata gameMetadata;
037
038  public GamePlayButton(String title) {
039    super(title);
040    setType("game_play");
041  }
042
043  public void setGameMetadata(GameMetadata gameMetadata) {
044    this.gameMetadata = gameMetadata;
045  }
046
047  public void setPayload(String payload) {
048    this.payload = payload;
049  }
050
051
052  public static class GameMetadata extends AbstractFacebookType {
053    private static final long serialVersionUID = 1L;
054    @Facebook("player_id")
055    private String playerId;
056    @Facebook("context_id")
057    private String contextId;
058
059    @java.lang.SuppressWarnings("all")
060    public void setPlayerId(final String playerId) {
061      this.playerId = playerId;
062    }
063
064    @java.lang.SuppressWarnings("all")
065    public String getPlayerId() {
066      return this.playerId;
067    }
068
069    @java.lang.SuppressWarnings("all")
070    public void setContextId(final String contextId) {
071      this.contextId = contextId;
072    }
073
074    @java.lang.SuppressWarnings("all")
075    public String getContextId() {
076      return this.contextId;
077    }
078  }
079}