001/* 002 * Copyright (c) 2010-2026 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, 034 Date timestamp); 035 036 void appRoles(final AppRoles appRoles, MessagingParticipant recipient, MessagingParticipant sender, Date timestamp); 037 038 void checkoutUpdate(final CheckoutUpdateItem checkoutUpdate, MessagingParticipant recipient, 039 MessagingParticipant sender, Date timestamp); 040 041 void delivery(final DeliveryItem delivery, MessagingParticipant recipient, MessagingParticipant sender, 042 Date timestamp); 043 044 void message(final MessageItem message, MessagingParticipant recipient, MessagingParticipant sender, Date timestamp); 045 046 void optin(final OptinItem optin, MessagingParticipant recipient, MessagingParticipant sender, Date timestamp); 047 048 void passThreadControl(final PassThreadControlItem passThreadControl, MessagingParticipant recipient, 049 MessagingParticipant sender, Date timestamp); 050 051 void payment(final PaymentItem payment, MessagingParticipant recipient, MessagingParticipant sender, Date timestamp); 052 053 void policyEnforcement(final PolicyEnforcementItem policyEnforcement, MessagingParticipant recipient, 054 MessagingParticipant sender, Date timestamp); 055 056 void postback(final PostbackItem postback, MessagingParticipant recipient, MessagingParticipant sender, 057 Date timestamp); 058 059 void reaction(final MessageReaction reaction, MessagingParticipant recipient, MessagingParticipant sender, 060 Date timestamp); 061 062 void read(final ReadItem read, MessagingParticipant recipient, MessagingParticipant sender, Date timestamp); 063 064 void referral(final ReferralItem referral, MessagingParticipant recipient, MessagingParticipant sender, 065 Date timestamp); 066 067 void requestThreadControl(final RequestThreadControlItem requestThreadControl, MessagingParticipant recipient, 068 MessagingParticipant sender, Date timestamp); 069 070 void takeThreadControl(final TakeThreadControlItem takeThreadControl, MessagingParticipant recipient, 071 MessagingParticipant sender, Date timestamp); 072}