Interface IMessageProcessor

All Superinterfaces:
IDynamicComponent
All Known Implementing Classes:
AbstractMessageProcessor, AsyncMessageProcessor, DefaultMessageProcessor

public interface IMessageProcessor extends IDynamicComponent
Process incoming messages.
Author:
Philip Helger
  • Field Details

  • Method Details

    • getPendingMDNFolder

      @Nullable default String getPendingMDNFolder()
      Returns:
      The name of the folder that contains the messages with the pending MDNs. May be null.
      Since:
      4.6.4
      See Also:
    • setPendingMDNFolder

      default void setPendingMDNFolder(@Nonnull @Nonempty String sPendingMDNFolder)
      Set the name of the folder that contains the messages with the pending MDN.
      Parameters:
      sPendingMDNFolder - The name of the folder. May neither be null nor empty.
      Since:
      4.6.4
      See Also:
    • getPendingMDNInfoFolder

      @Nullable default String getPendingMDNInfoFolder()
      Returns:
      The name of the folder that contains the pending MDN information files. May be null.
      Since:
      4.6.4
      See Also:
    • setPendingMDNInfoFolder

      default void setPendingMDNInfoFolder(@Nonnull @Nonempty String sPendingMDNInfoFolder)
      Set the name of the folder that contains the pending MDN information files.
      Parameters:
      sPendingMDNInfoFolder - The name of the folder. May neither be null nor empty.
      Since:
      4.6.4
      See Also:
    • handle

      void handle(@Nonnull String sAction, @Nonnull IMessage aMsg, @Nullable Map<String,Object> aOptions) throws AS2Exception
      Throws:
      AS2Exception
    • addModule

      void addModule(@Nonnull IProcessorModule aModule)
    • removeModule

      @Nonnull com.helger.commons.state.EChange removeModule(@Nullable IProcessorModule aModule)
    • getModuleCount

      @Nonnegative int getModuleCount()
    • getAllModules

      @Nonnull @ReturnsMutableCopy com.helger.commons.collection.impl.ICommonsList<IProcessorModule> getAllModules()
    • getModuleOfClass

      @Nullable <T extends IProcessorModule> T getModuleOfClass(@Nonnull Class<T> aClass)
    • getAllModulesOfClass

      @Nonnull @ReturnsMutableCopy <T extends IProcessorModule> com.helger.commons.collection.impl.ICommonsList<T> getAllModulesOfClass(@Nonnull Class<T> aClass)
    • getAllActiveModules

      @Nonnull @ReturnsMutableCopy com.helger.commons.collection.impl.ICommonsList<IProcessorActiveModule> getAllActiveModules()
      Returns:
      A list of all modules, that implement the IProcessorActiveModule interface. Never null but maybe empty.
    • startActiveModules

      void startActiveModules()
      Call start on all modules that implement the IProcessorActiveModule interface.
    • stopActiveModules

      void stopActiveModules()
      Call stop on all modules that implement the IProcessorActiveModule interface.