Class AbstractEmailSubscription

java.lang.Object
com.persequor.saga.modules.emailinbox.sdk.AbstractEmailSubscription
All Implemented Interfaces:
com.persequor.extension.subscription.IAdvancedSubscriptionProcessor

public abstract class AbstractEmailSubscription extends Object implements com.persequor.extension.subscription.IAdvancedSubscriptionProcessor
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    abstract boolean
    accept(IEmail email)
    Whether this subscription is interested in the email - must return very quickly, by not doing any DB or API calls.
    final void
    process(com.persequor.event.EventList events, com.persequor.extension.AdditionalData additionalData)
     
    abstract void
    process(IEmail email)
    Process the newly received email, or throw SubscriptionDelayException to try again later.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • AbstractEmailSubscription

      public AbstractEmailSubscription()
  • Method Details

    • accept

      public abstract boolean accept(IEmail email)
      Whether this subscription is interested in the email - must return very quickly, by not doing any DB or API calls.
      Parameters:
      email - the email that has been received
      Returns:
      true if the subscription should be invoked.
    • process

      public abstract void process(IEmail email) throws com.persequor.extension.subscription.SubscriptionDelayException, com.persequor.extension.subscription.SubscriptionFailedException
      Process the newly received email, or throw SubscriptionDelayException to try again later.
      Parameters:
      email - the email to process.
      Throws:
      com.persequor.extension.subscription.SubscriptionDelayException - if something fails temporarily and the processor should try again
      com.persequor.extension.subscription.SubscriptionFailedException
    • process

      public final void process(com.persequor.event.EventList events, com.persequor.extension.AdditionalData additionalData) throws com.persequor.extension.subscription.SubscriptionDelayException, com.persequor.extension.subscription.SubscriptionFailedException
      Specified by:
      process in interface com.persequor.extension.subscription.IAdvancedSubscriptionProcessor
      Throws:
      com.persequor.extension.subscription.SubscriptionDelayException
      com.persequor.extension.subscription.SubscriptionFailedException