001/* 002 * Copyright (c) 2010-2024 Mark Allen, Norbert Bartels. 003 * 004 * Permission is hereby granted, free of charge, to any person obtaining a copy 005 * of this software and associated documentation files (the "Software"), to deal 006 * in the Software without restriction, including without limitation the rights 007 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 008 * copies of the Software, and to permit persons to whom the Software is 009 * furnished to do so, subject to the following conditions: 010 * 011 * The above copyright notice and this permission notice shall be included in 012 * all copies or substantial portions of the Software. 013 * 014 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 015 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 016 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 017 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 018 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 019 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 020 * THE SOFTWARE. 021 */ 022package com.restfb.webhook; 023 024import java.util.Date; 025 026import com.restfb.types.webhook.messaging.*; 027 028/** 029 * interface to provide methods a listener can implement to handle the different messaging items 030 */ 031public interface WebhookMessagingListener { 032 033 void accountLinking(final AccountLinkingItem item, MessagingParticipant recipient, MessagingParticipant sender, Date timestamp); 034 035 void appRoles(final AppRoles appRoles, MessagingParticipant recipient, MessagingParticipant sender, Date timestamp); 036 037 void checkoutUpdate(final CheckoutUpdateItem checkoutUpdate, MessagingParticipant recipient, 038 MessagingParticipant sender, Date timestamp); 039 040 void delivery(final DeliveryItem delivery, MessagingParticipant recipient, MessagingParticipant sender, Date timestamp); 041 042 void message(final MessageItem message, MessagingParticipant recipient, MessagingParticipant sender, Date timestamp); 043 044 void optin(final OptinItem optin, MessagingParticipant recipient, MessagingParticipant sender, Date timestamp); 045 046 void passThreadControl(final PassThreadControlItem passThreadControl, MessagingParticipant recipient, 047 MessagingParticipant sender, Date timestamp); 048 049 void payment(final PaymentItem payment, MessagingParticipant recipient, MessagingParticipant sender, Date timestamp); 050 051 void policyEnforcement(final PolicyEnforcementItem policyEnforcement, MessagingParticipant recipient, 052 MessagingParticipant sender, Date timestamp); 053 054 void postback(final PostbackItem postback, MessagingParticipant recipient, MessagingParticipant sender, Date timestamp); 055 056 void reaction(final MessageReaction reaction, MessagingParticipant recipient, MessagingParticipant sender, Date timestamp); 057 058 void read(final ReadItem read, MessagingParticipant recipient, MessagingParticipant sender, Date timestamp); 059 060 void referral(final ReferralItem referral, MessagingParticipant recipient, MessagingParticipant sender, Date timestamp); 061 062 void requestThreadControl(final RequestThreadControlItem requestThreadControl, MessagingParticipant recipient, 063 MessagingParticipant sender, Date timestamp); 064 065 void takeThreadControl(final TakeThreadControlItem takeThreadControl, MessagingParticipant recipient, 066 MessagingParticipant sender, Date timestamp); 067}