Interface PreSendMessageEventListener


  • public interface PreSendMessageEventListener

    This interface is an extension point that is called before a message is send. It is allowed to cancel or postpone sending the message with a permanent or temporary messaging exception

    Since:
    11.3
    • Method Detail

      • preSendMessage

        default void preSendMessage​(PreSendMessageEvent preSendMessageEvent)
                             throws PermanentMessagingException,
                                    TemporaryMessagingException
        The method is called before sending the message. Please note that this method is the default method to be called for many kinds of presend message events within the iAGENT core process. If you would like to listen to only one type of presend message event, please implement one of the specific methods. This method will never be called directly from the backend. The method will only be called by the more specific default methods.
        Parameters:
        preSendMessageEvent - The PreSendMessageEvent provides information about the message and the ticket.
        Throws:
        PermanentMessagingException - Throw a PermanentMessagingException to indicate a permanent error. The message will not be sent again automatically.
        TemporaryMessagingException - Throw a TemporaryMessagingException to indicate a temporary error. The message will stay on the outgoing folder to be sent again after a short period of time.
        Since:
        11.3
      • preSendMessage

        default void preSendMessage​(PreSendMessageTicketEvent preSendMessageTicketEvent)
                             throws PermanentMessagingException,
                                    TemporaryMessagingException
        The method is called when a message associated with a Ticket is about to be sent within the novomind iAGENT core process. Please note that this method is the default method to be called for many kinds of presend message events associated with a ticket within the iAGENT core process. If you would like to listen to only one type of message sent event, please implement one of the specific methods. This method will never be called directly from the backend. The method will only be called by the more specific default methods.
        Parameters:
        preSendMessageTicketEvent - The PreSendMessageTicketEvent provides information about the message and the ticket.
        Throws:
        PermanentMessagingException - Throw a PermanentMessagingException to indicate a permanent error. The message will be marked as send failure on the outgoing folder.
        TemporaryMessagingException - Throw a TemporaryMessagingException to indicate a temporary error. The message will stay on the outgoing folder to be sent again after a short period of time.
        Since:
        11.3
      • preSendMessage

        default void preSendMessage​(PreSendMessageAndCloseTicketEvent preSendMessageAndCloseTicketEvent)
                             throws PermanentMessagingException,
                                    TemporaryMessagingException
        The method is called when a message is about to be sent and the associated ticket is about to be closed within the novomind iAGENT core process. Please note that this method is the default method to be called for many kinds of presend message and close events associated with a ticket within the iAGENT core process. If you would like to listen to only one type of presend message event, please implement one of the specific methods. This method will never be called directly from the backend. The method will only be called by the more specific default methods.
        Parameters:
        preSendMessageAndCloseTicketEvent - The PreSendMessageAndCloseTicketEvent provides information about the message and the ticket.
        Throws:
        PermanentMessagingException - Throw a PermanentMessagingException to indicate a permanent error. The message will be marked as send failure on the outgoing folder.
        TemporaryMessagingException - Throw a TemporaryMessagingException to indicate a temporary error. The message will stay on the outgoing folder to be sent again after a short period of time.
        Since:
        11.3
      • preSendMessage

        default void preSendMessage​(PreSendExternalForwardMessageAndCloseTicketEvent preSendExternalForwardMessageAndCloseTicketEvent)
                             throws PermanentMessagingException,
                                    TemporaryMessagingException
        The method is called when the ticket associated with the message has been closed without answer and a message is about to be sent to an external recipient within the novomind iAGENT core process. Please note that this method is the default method to be called for many kinds of presend external forward message and close events associated with a ticket within the iAGENT core process. If you would like to listen to only one type of presend external forward message and close event, please implement one of the specific methods. This method will never be called directly from the backend. The method will only be called by the more specific default methods.
        Parameters:
        preSendExternalForwardMessageAndCloseTicketEvent - The PreSendExternalForwardMessageAndCloseTicketEvent provides information about the message and the ticket.
        Throws:
        PermanentMessagingException - Throw a PermanentMessagingException to indicate a permanent error. The message will be removed from the outgoing folder and the error will be visible in the course of the ticket. The associated ticket will be reactivated.
        TemporaryMessagingException - Throw a TemporaryMessagingException to indicate a temporary error. The message will stay on the outgoing folder to be sent again after a short period of time.
        Since:
        11.9
      • preSendMessage

        default void preSendMessage​(PreSendExternalForwardMessageAndForwardTicketEvent preSendExternalForwardMessageAndForwardTicketEvent)
                             throws PermanentMessagingException,
                                    TemporaryMessagingException
        The method is called when an external message is about to be sent to an external recipient within the novomind iAGENT core process due to an external forward operation of the associated ticket. The ticket will be processed externally by the external recipient of the message. Please note that this method is the default method to be called for many kinds of presend external forward message events associated with a ticket within the iAGENT core process. If you would like to listen to only one type of presend external forward message event, please implement one of the specific methods. This method will never be called directly from the backend. The method will only be called by the more specific default methods.
        Parameters:
        preSendExternalForwardMessageAndForwardTicketEvent - The PreSendExternalForwardMessageAndForwardTicketEvent provides information about the message and the ticket.
        Throws:
        PermanentMessagingException - Throw a PermanentMessagingException to indicate a permanent error. The message will be removed from the outgoing folder and the error will be visible in the course of the ticket.
        TemporaryMessagingException - Throw a TemporaryMessagingException to indicate a temporary error. The message will stay on the outgoing folder to be sent again after a short period of time.
        Since:
        11.9
      • preSendMessage

        default void preSendMessage​(PreSendExternalForwardMessageAndKeepTicketEvent preSendExternalForwardMessageAndKeepTicketEvent)
                             throws PermanentMessagingException,
                                    TemporaryMessagingException
        The method is called when an external message is about to be sent to an external recipient within the novomind iAGENT core process due to an external forward operation of the associated ticket. The current ticket status will not be affected by this forward operation and the ticket is kept within the backlog. Please note that this method is the default method to be called for many kinds of presend external forward message events associated with a ticket within the iAGENT core process. If you would like to listen to only one type of presend external forward message event, please implement one of the specific methods. This method will never be called directly from the backend. The method will only be called by the more specific default methods.
        Parameters:
        preSendExternalForwardMessageAndKeepTicketEvent - The PreSendExternalForwardMessageAndKeepTicketEvent provides information about the message and the ticket.
        Throws:
        PermanentMessagingException - Throw a PermanentMessagingException to indicate a permanent error. The message will be removed from the outgoing folder and the error will be visible in the course of the ticket.
        TemporaryMessagingException - Throw a TemporaryMessagingException to indicate a temporary error. The message will stay on the outgoing folder to be sent again after a short period of time.
        Since:
        11.9
      • preSendMessage

        default void preSendMessage​(AgentPreSendMessageAndCloseTicketEvent agentPreSendMessageAndCloseTicketEvent)
                             throws PermanentMessagingException,
                                    TemporaryMessagingException
        This more specific method is called if a message is about to be sent and the associated ticket is about to be closed by an agent.
        Parameters:
        agentPreSendMessageAndCloseTicketEvent - The AgentPreSendMessageAndCloseTicketEvent providing all required information about the message, the ticket and the agent.
        Throws:
        PermanentMessagingException - Throw a PermanentMessagingException to indicate a permanent error. The message will be marked as send failure on the outgoing folder.
        TemporaryMessagingException - Throw a TemporaryMessagingException to indicate a temporary error. The message will stay on the outgoing folder to be sent again after a short period of time.
        Since:
        11.3
      • preSendMessage

        default void preSendMessage​(AgentPreSendIntermediateMessageTicketEvent agentIntermediatePreSendMessageTicketEvent)
                             throws PermanentMessagingException,
                                    TemporaryMessagingException
        This more specific method is called if an intermediate message is about to be sent by an agent.
        Parameters:
        agentIntermediatePreSendMessageTicketEvent - The AgentIntermediatePreSendMessageTicketEvent providing all required information about the intermediate message, the ticket and the agent.
        Throws:
        PermanentMessagingException - Throw a PermanentMessagingException to indicate a permanent error. The message will be marked as send failure on the outgoing folder.
        TemporaryMessagingException - Throw a TemporaryMessagingException to indicate a temporary error. The message will stay on the outgoing folder to be sent again after a short period of time.
        Since:
        11.3
      • preSendMessage

        default void preSendMessage​(PreSendConfirmationMessageTicketEvent confirmationPreSendMessageTicketEvent)
                             throws PermanentMessagingException,
                                    TemporaryMessagingException
        This more specific method is called if a confirmation message is about to be sent.
        Parameters:
        confirmationPreSendMessageTicketEvent - The ConfirmationPreSendMessageTicketEvent providing all required information about the confirmation message and the ticket.
        Throws:
        PermanentMessagingException - Throw a PermanentMessagingException to indicate a permanent error. The message will be marked as send failure on the outgoing folder.
        TemporaryMessagingException - Throw a TemporaryMessagingException to indicate a temporary error. The message will stay on the outgoing folder to be sent again after a short period of time.
        Since:
        11.3
      • preSendMessage

        default void preSendMessage​(AutoPreSendMessageAndCloseTicketEvent autoPreSendMessageAndCloseTicketEvent)
                             throws PermanentMessagingException,
                                    TemporaryMessagingException
        This more specific method is called if an automatically generated message is about to be sent and the associated ticket is about to be closed e.g. due to the configuration of the ticket's category.
        Parameters:
        autoPreSendMessageAndCloseTicketEvent - The AutoPreSendMessageAndCloseTicketEvent providing all required information about the automatically generated message and the ticket.
        Throws:
        PermanentMessagingException - Throw a PermanentMessagingException to indicate a permanent error. The message will be marked as send failure on the outgoing folder.
        TemporaryMessagingException - Throw a TemporaryMessagingException to indicate a temporary error. The message will stay on the outgoing folder to be sent again after a short period of time.
        Since:
        11.3
      • preSendMessage

        default void preSendMessage​(AutoPreSendIntermediateMessageTicketEvent autoIntermediatePreSendMessageTicketEvent)
                             throws PermanentMessagingException,
                                    TemporaryMessagingException
        This more specific method is called if an automatically generated intermediate reply message is about to be sent due to the configuration of the ticket's category.
        Parameters:
        autoIntermediatePreSendMessageTicketEvent - The AutoIntermediatePreSendMessageTicketEvent providing all required information about the automatically generated message and the ticket.
        Throws:
        PermanentMessagingException - Throw a PermanentMessagingException to indicate a permanent error. The message will be marked as send failure on the outgoing folder.
        TemporaryMessagingException - Throw a TemporaryMessagingException to indicate a temporary error. The message will stay on the outgoing folder to be sent again after a short period of time.
        Since:
        11.3
      • preSendMessage

        default void preSendMessage​(PreSendExternalMessageAndCloseTicketEvent externalPreSendMessageAndCloseTicketEvent)
                             throws PermanentMessagingException,
                                    TemporaryMessagingException
        This more specific method is called if a message has been answered by an external recipient, is about to be sent and the associated ticket is about to be closed.
        Parameters:
        externalPreSendMessageAndCloseTicketEvent - The ExternalPreSendMessageAndCloseTicketEvent providing all required information about the message, the ticket and also the email address of the external recipient.
        Throws:
        PermanentMessagingException - Throw a PermanentMessagingException to indicate a permanent error. The message will be marked as send failure on the outgoing folder.
        TemporaryMessagingException - Throw a TemporaryMessagingException to indicate a temporary error. The message will stay on the outgoing folder to be sent again after a short period of time.
        Since:
        11.3
      • preSendMessage

        default void preSendMessage​(AgentPreSendExternalForwardMessageAndForwardTicketEvent agentPreSendExternalForwardMessageAndForwardTicketEvent)
                             throws PermanentMessagingException,
                                    TemporaryMessagingException
        This more specific method is called when an external message is about to be sent to an external recipient within the novomind iAGENT core process due to an external forward operation of the associated ticket by an agent. The ticket will be externally processed by the external recipient of the message.
        Parameters:
        agentPreSendExternalForwardMessageAndForwardTicketEvent - The AgentPreSendExternalForwardMessageAndForwardTicketEvent providing all required information about the message, the ticket and also the email address of the external recipient.
        Throws:
        PermanentMessagingException - Throw a PermanentMessagingException to indicate a permanent error. The message will be deleted from the outgoing folder and the error will be visible in the course of the ticket.
        TemporaryMessagingException - Throw a TemporaryMessagingException to indicate a temporary error. The message will stay on the outgoing folder to be sent again after a short period of time.
        Since:
        11.9
      • preSendMessage

        default void preSendMessage​(AgentPreSendExternalForwardMessageAndCloseTicketEvent agentPreSendExternalForwardMessageAndCloseTicketEvent)
                             throws PermanentMessagingException,
                                    TemporaryMessagingException
        This more specific method is called when the associated ticket of the message has been closed without answer, and an external message is about to be sent to an external recipient by an agent.
        Parameters:
        agentPreSendExternalForwardMessageAndCloseTicketEvent - The AgentPreSendExternalForwardMessageAndCloseTicketEvent providing all required information about the message, the ticket and also the email address of the external recipient.
        Throws:
        PermanentMessagingException - Throw a PermanentMessagingException to indicate a permanent error. The message will be deleted from the outgoing folder and the associated ticket will be re-opened.
        TemporaryMessagingException - Throw a TemporaryMessagingException to indicate a temporary error. The message will stay on the outgoing folder to be sent again after a short period of time.
        Since:
        11.9
      • preSendMessage

        default void preSendMessage​(AgentPreSendExternalForwardMessageAndKeepTicketEvent agentPreSendExternalForwardMessageAndKeepTicketEvent)
                             throws PermanentMessagingException,
                                    TemporaryMessagingException
        This more specific method is called when an external message is about to be sent to an external recipient within the novomind iAGENT core process due to an external forward operation of the associated ticket by an agent. The current ticket status will not be affected by this forward operation. The ticket maintains in the agent folder.
        Parameters:
        agentPreSendExternalForwardMessageAndKeepTicketEvent - The AgentPreSendExternalForwardMessageAndKeepTicketEvent providing all required information about the message, the ticket and also the email address of the external recipient.
        Throws:
        PermanentMessagingException - Throw a PermanentMessagingException to indicate a permanent error. The message will be deleted from the outgoing folder and the error will be visible in the course of the ticket.
        TemporaryMessagingException - Throw a TemporaryMessagingException to indicate a temporary error. The message will stay on the outgoing folder to be sent again after a short period of time.
        Since:
        11.9
      • preSendMessage

        default void preSendMessage​(SupervisorPreSendExternalForwardMessageAndForwardTicketEvent supervisorPreSendExternalForwardMessageAndForwardTicketEvent)
                             throws PermanentMessagingException,
                                    TemporaryMessagingException
        This more specific method is called when an external message is about to be sent to an external recipient within the novomind iAGENT core process due to an external forward operation of the associated ticket by a supervisor. The ticket will be externally processed by the external recipient.
        Parameters:
        supervisorPreSendExternalForwardMessageAndForwardTicketEvent - The SupervisorPreSendExternalForwardMessageAndForwardTicketEvent providing all required information about the message, the ticket and also the email address of the external recipient.
        Throws:
        PermanentMessagingException - Throw a PermanentMessagingException to indicate a permanent error. The message will be deleted from the outgoing folder and the error will be visible in the course of the ticket.
        TemporaryMessagingException - Throw a TemporaryMessagingException to indicate a temporary error. The message will stay on the outgoing folder to be sent again after a short period of time.
        Since:
        11.9
      • preSendMessage

        default void preSendMessage​(SupervisorPreSendExternalForwardMessageAndCloseTicketEvent supervisorPreSendExternalForwardMessageAndCloseTicketEvent)
                             throws PermanentMessagingException,
                                    TemporaryMessagingException
        This more specific method is called when the associated ticket of the message has been closed without answer, and an external message is about to be sent to an external recipient by a supervisor.
        Parameters:
        supervisorPreSendExternalForwardMessageAndCloseTicketEvent - The SupervisorPreSendExternalForwardMessageAndCloseTicketEvent providing all required information about the message, the ticket and also the email address of the external recipient.
        Throws:
        PermanentMessagingException - Throw a PermanentMessagingException to indicate a permanent error. The message will be deleted from the outgoing folder and the associated ticket will be re-opened.
        TemporaryMessagingException - Throw a TemporaryMessagingException to indicate a temporary error. The message will stay on the outgoing folder to be sent again after a short period of time.
        Since:
        11.9
      • preSendMessage

        default void preSendMessage​(SupervisorPreSendExternalForwardMessageAndKeepTicketEvent supervisorPreSendExternalForwardMessageAndKeepTicketEvent)
                             throws PermanentMessagingException,
                                    TemporaryMessagingException
        This more specific method is called when an external message is about to be sent to an external recipient within the novomind iAGENT core process due to an external forward operation of the associated ticket by a supervisor. The current ticket status will not be affected by this forward operation. The ticket maintains in the backlog.
        Parameters:
        supervisorPreSendExternalForwardMessageAndKeepTicketEvent - The SupervisorPreSendExternalForwardMessageAndKeepTicketEvent providing all required information about the message, the ticket and also the email address of the external recipient.
        Throws:
        PermanentMessagingException - Throw a PermanentMessagingException to indicate a permanent error. The message will be deleted from the outgoing folder and the error will be visible in the course of the ticket.
        TemporaryMessagingException - Throw a TemporaryMessagingException to indicate a temporary error. The message will stay on the outgoing folder to be sent again after a short period of time.
        Since:
        11.9
      • preSendMessage

        default void preSendMessage​(AutoPreSendExternalForwardMessageAndForwardTicketEvent autoPreSendExternalForwardMessageAndForwardTicketEvent)
                             throws PermanentMessagingException,
                                    TemporaryMessagingException
        This more specific method is called when an external message is about to be sent to an external recipient within the novomind iAGENT core process due to an automatic external forward operation of the associated ticket.
        Parameters:
        autoPreSendExternalForwardMessageAndForwardTicketEvent - The AutoPreSendExternalForwardMessageAndForwardTicketEvent providing all required information about the message, the ticket and also the email address of the external recipient.
        Throws:
        PermanentMessagingException - Throw a PermanentMessagingException to indicate a permanent error. The message will be deleted from the outgoing folder.
        TemporaryMessagingException - Throw a TemporaryMessagingException to indicate a temporary error. The message will stay on the outgoing folder to be sent again after a short period of time.
        Since:
        11.9
      • preSendMessage

        default void preSendMessage​(AutoPreSendExternalForwardMessageAndCloseTicketEvent autoPreSendExternalForwardMessageAndCloseTicketEvent)
                             throws PermanentMessagingException,
                                    TemporaryMessagingException
        This more specific method is called when the associated ticket of the message has been closed automatically without answer and an external message is about to be sent to an external recipient.
        Parameters:
        autoPreSendExternalForwardMessageAndCloseTicketEvent - The AutoPreSendExternalForwardMessageAndCloseTicketEvent providing all required information about the message, the ticket and also the email address of the external recipient.
        Throws:
        PermanentMessagingException - Throw a PermanentMessagingException to indicate a permanent error. The message will be deleted from the outgoing folder and the associated ticket will be re-opened.
        TemporaryMessagingException - Throw a TemporaryMessagingException to indicate a temporary error. The message will stay on the outgoing folder to be sent again after a short period of time.
        Since:
        11.9
      • preSendMessage

        default void preSendMessage​(AgentPreSendExternalInquiryMessageTicketEvent agentPreSendExternalInquiryMessageTicketEvent)
                             throws PermanentMessagingException,
                                    TemporaryMessagingException
        This more specific method is called when an external message is about to be sent to an external recipient within the novomind iAGENT core process due to an inquiry operation of the associated ticket by an agent.
        Parameters:
        agentPreSendExternalInquiryMessageTicketEvent - The AgentPreSendExternalInquiryMessageTicketEvent providing all required information about the message, the ticket and also the email address of the external recipient.
        Throws:
        PermanentMessagingException - Throw a PermanentMessagingException to indicate a permanent error. The message will be deleted from the outgoing folder and the error will be visible in the course of the ticket.
        TemporaryMessagingException - Throw a TemporaryMessagingException to indicate a temporary error. The message will stay on the outgoing folder to be sent again after a short period of time.
        Since:
        11.9