package com.paperight.email.integration; import org.springframework.integration.annotation.Gateway; import com.paperight.credit.PaperightCreditTransaction; import com.paperight.email.ContactMessage; import com.paperight.email.ResetPassword; import com.paperight.email.SuggestBook; import com.paperight.email.UpdateEmail; import com.paperight.licence.Licence; import com.paperight.publisherearning.PublisherPaymentRequest; import com.paperight.user.Company; import com.paperight.user.User; public interface EmailGateway { @Gateway(requestChannel="userRegistationChannel") public void userRegistration(final User user); @Gateway(requestChannel="activateUserChannel") public void activateUser(final User user); @Gateway(requestChannel="contactUsChannel") public void contactUs(final ContactMessage contactMessage); @Gateway(requestChannel="resetPasswordChannel") public void resetPassword(final ResetPassword resetPassword); @Gateway(requestChannel="paperightCreditTransactionPaymentReceivedChannel") public void paperightCreditTransactionPaymentReceived(final PaperightCreditTransaction transaction); @Gateway(requestChannel="updateEmailChannel") public void updateEmail(final UpdateEmail updateEmail); @Gateway(requestChannel="suggestBookChannel") public void suggestBook(final SuggestBook suggestBook); @Gateway(requestChannel="newUserChannel") public void newUser(final User user); @Gateway(requestChannel="closeUserChannel") public void closeUser(final User user); @Gateway(requestChannel="reopenUserChannel") public void reopenUser(final User user); @Gateway(requestChannel="publisherPaymentRequestEmailChannel") public void publisherPaymentRequest(final PublisherPaymentRequest publisherPaymentRequest); @Gateway(requestChannel="cancelPublisherPaymentRequestEmailChannel") public void cancelPublisherPaymentRequest(final PublisherPaymentRequest publisherPaymentRequest); @Gateway(requestChannel="licencePurchaseEmailChannel") public void licencePurchaseComplete(Licence licence); @Gateway(requestChannel="paidPublisherPaymentRequestEmailChannel") public void paidPublisherPaymentRequest(final PublisherPaymentRequest publisherPaymentRequest); @Gateway(requestChannel="publisherEarningReminderEmailChannel") public void publisherEarningReminder(final Company company); }