Class MailProcessor

  • Direct Known Subclasses:
    EMLProcessor

    public abstract class MailProcessor
    extends java.lang.Object

    Überschrift: MailProcessor.

    Beschreibung: Interface für die Komponente zum Auslesen des E-Mail Inhaltes.

    Copyright: Copyright ELO Digital Office GmbH 2018

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String MAIL_CONTENT_END
      Dient als Marker für das Ende des E-Mail Inhaltes.
      static java.lang.String MAIL_CONTENT_START
      Dient als Marker für den Anfang des E-Mail Inhaltes.
    • Constructor Summary

      Constructors 
      Constructor Description
      MailProcessor()  
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.String addCharset​(java.lang.String text, java.lang.String charset)
      Fügt dem HTML Code das angegebene Charset hinzu sofern nicht schon ein anderes Charset vorhanden ist.
      static java.lang.String cleanExternalLinks​(java.lang.String html)
      Ersetzt externe Links in E-Mails durch X.
      static java.io.File createMailContentFile​(java.io.File tempDir, int objId, java.lang.String fileName, java.lang.String mailContent)
      Erzeugt eine HTM-Datei mit dem E-Mail Inhalt und liefert die Datei zurück.
      protected static java.lang.String formatDate​(java.util.Date date)
      Formattiert das angegebene Datum für die Anzeige.
      abstract java.util.List<Attachment> getAttachments()
      Liefert die Attachments zurück.
      abstract java.util.Map<java.lang.String,​java.lang.String> getFields()
      Liefert die Felder zurück, die ausgewertet wurden.
      static boolean isValidEMailAddress​(java.lang.String mailAddress)
      Rudimentärer Test ob die angegebene E-Mail Adresse gültig ist.
      static java.lang.String makeValidHtml​(java.lang.String mailContent)
      Fügt dem übergegbenen HTML Code, falls noch nicht vorhanden die entsprechenden HTML Tags hinzu damit valides HTML entsteht.
      abstract void processFile​(java.io.File file)
      Extrahiert die Felder aus der angegebenen E-Mail Datei.
      abstract void processStream​(java.io.InputStream stream)
      Extrahiert die Felder der angegebenen E-Mail im Stream.
      static java.lang.String replaceCids​(java.lang.String html, java.util.List<Attachment> mailAttachments)
      Ersetzt vorhandene Cids durch Dateinamen.
      void writeEmbeddedPictures​(java.util.List<Attachment> attachments, int objId, boolean overwrite, java.io.File mailContentDir)
      Schreibt die eingebetteten Bilder im temporären Verzeichnis.
      void writeToFile​(Attachment attachment, java.io.File outFile)
      Schreibt den Anhanginhalt in die angegebene Datei.
      void writeToStream​(java.io.InputStream inputStream, java.io.OutputStream outputStream)
      Schreibt den Inhalt des Anhangs in einen OutputStream.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • MAIL_CONTENT_START

        public static java.lang.String MAIL_CONTENT_START
        Dient als Marker für den Anfang des E-Mail Inhaltes.
      • MAIL_CONTENT_END

        public static java.lang.String MAIL_CONTENT_END
        Dient als Marker für das Ende des E-Mail Inhaltes.
    • Constructor Detail

      • MailProcessor

        public MailProcessor()
    • Method Detail

      • processFile

        public abstract void processFile​(java.io.File file)
                                  throws java.lang.Exception
        Extrahiert die Felder aus der angegebenen E-Mail Datei.
        Parameters:
        file - E-Mail Datei
        Throws:
        java.lang.Exception
      • processStream

        public abstract void processStream​(java.io.InputStream stream)
                                    throws java.lang.Exception
        Extrahiert die Felder der angegebenen E-Mail im Stream. Der Stream wird geschlossen.
        Parameters:
        stream - E-Mail Datei als Stream
        Throws:
        java.lang.Exception
      • getFields

        public abstract java.util.Map<java.lang.String,​java.lang.String> getFields()
        Liefert die Felder zurück, die ausgewertet wurden. Die Methode "processFile" sollte vorher aufgerufen werden.
        Returns:
        Hashmap mit den ausgewerteten Feldern
      • getAttachments

        public abstract java.util.List<Attachment> getAttachments()
        Liefert die Attachments zurück. Die Methode "processFile" sollte vorher aufgerufen werden.
        Returns:
        Liste mit E-Mail Anhängen
      • writeEmbeddedPictures

        public void writeEmbeddedPictures​(java.util.List<Attachment> attachments,
                                          int objId,
                                          boolean overwrite,
                                          java.io.File mailContentDir)
                                   throws java.lang.Exception
        Schreibt die eingebetteten Bilder im temporären Verzeichnis.
        Parameters:
        attachments - Liste mit E-Mail Anhängen
        objId - Object ID der E-Mail
        overwrite - Gibt an ob Daten überschrieben werden sollen oder unique Dateinamen generiert werden sollen
        mailContentDir - Tempverzeichnis für Maildaten
        Throws:
        java.lang.Exception
      • writeToFile

        public void writeToFile​(Attachment attachment,
                                java.io.File outFile)
                         throws java.lang.Exception
        Schreibt den Anhanginhalt in die angegebene Datei.
        Parameters:
        attachment - E-Mail Anhang
        outFile - Datei, in der geschrieben wird
        Throws:
        java.lang.Exception
      • writeToStream

        public void writeToStream​(java.io.InputStream inputStream,
                                  java.io.OutputStream outputStream)
                           throws java.lang.Exception
        Schreibt den Inhalt des Anhangs in einen OutputStream.
        Parameters:
        inputStream - InputStream
        outputStream - OutputStream
        Throws:
        java.lang.Exception
      • createMailContentFile

        public static java.io.File createMailContentFile​(java.io.File tempDir,
                                                         int objId,
                                                         java.lang.String fileName,
                                                         java.lang.String mailContent)
        Erzeugt eine HTM-Datei mit dem E-Mail Inhalt und liefert die Datei zurück.
        Parameters:
        tempDir - Aktueller Arbeitsbereich
        objId - Id des angezeigten Dokumentes
        fileName - Dateinamen
        mailContent - E-Mail Inhalt
        Returns:
        HTML-Mail-Datei
      • makeValidHtml

        public static java.lang.String makeValidHtml​(java.lang.String mailContent)
        Fügt dem übergegbenen HTML Code, falls noch nicht vorhanden die entsprechenden HTML Tags hinzu damit valides HTML entsteht.
        Parameters:
        mailContent - HTML Code
        Returns:
        gültiger HTML Code
      • addCharset

        public static java.lang.String addCharset​(java.lang.String text,
                                                  java.lang.String charset)
        Fügt dem HTML Code das angegebene Charset hinzu sofern nicht schon ein anderes Charset vorhanden ist.
        Parameters:
        text - HTML Code
        charset - Charset das hinzugefügt werden soll.
        Returns:
        HTML Code mit Charset
      • cleanExternalLinks

        public static java.lang.String cleanExternalLinks​(java.lang.String html)
        Ersetzt externe Links in E-Mails durch X.
        Parameters:
        html - HTML Code, der bereinigt werden soll
        Returns:
        bereinigter HTML Code
      • replaceCids

        public static java.lang.String replaceCids​(java.lang.String html,
                                                   java.util.List<Attachment> mailAttachments)
                                            throws java.lang.Exception
        Ersetzt vorhandene Cids durch Dateinamen.
        Parameters:
        html - HTML Code
        mailAttachments - Liste mit E-Mail Anhängen
        Returns:
        bereinigter HTML Code
        Throws:
        java.lang.Exception
      • isValidEMailAddress

        public static boolean isValidEMailAddress​(java.lang.String mailAddress)
        Rudimentärer Test ob die angegebene E-Mail Adresse gültig ist.
        Parameters:
        mailAddress - Zu testende E-Mail Adresse
        Returns:
        E-Mail Adresse ist gültig
      • formatDate

        protected static java.lang.String formatDate​(java.util.Date date)
        Formattiert das angegebene Datum für die Anzeige.
        Parameters:
        date - Datum
        Returns:
        Formattierter Datumsstring für die Anzeige