Class RFC822Parser

  • All Implemented Interfaces:
    Serializable, Parser

    public class RFC822Parser
    extends AbstractParser
    Uses apache-mime4j to parse emails. Each part is treated with the corresponding parser and displayed within elements.

    A MimeConfig object can be passed in the parsing context to better control the parsing process.

    Author:
    jnioche@digitalpebble.com
    See Also:
    Serialized Form
    • Constructor Detail

      • RFC822Parser

        public RFC822Parser()
    • Method Detail

      • getSupportedTypes

        public Set<MediaType> getSupportedTypes​(ParseContext context)
        Description copied from interface: Parser
        Returns the set of media types supported by this parser when used with the given parse context.
        Parameters:
        context - parse context
        Returns:
        immutable set of media types
      • parse

        public void parse​(InputStream stream,
                          ContentHandler handler,
                          Metadata metadata,
                          ParseContext context)
                   throws IOException,
                          SAXException,
                          TikaException
        Description copied from interface: Parser
        Parses a document stream into a sequence of XHTML SAX events. Fills in related document metadata in the given metadata object.

        The given document stream is consumed but not closed by this method. The responsibility to close the stream remains on the caller.

        Information about the parsing context can be passed in the context parameter. See the parser implementations for the kinds of context information they expect.

        Parameters:
        stream - the document stream (input)
        handler - handler for the XHTML SAX events (output)
        metadata - document metadata (input and output)
        context - parse context
        Throws:
        IOException - if the document stream could not be read
        SAXException - if the SAX events could not be processed
        TikaException - if the document could not be parsed
      • setExtractAllAlternatives

        public void setExtractAllAlternatives​(boolean extractAllAlternatives)
        Until version 1.17, Tika handled all body parts as embedded objects (see TIKA-2478). In 1.17, we modified the parser to select only the best alternative body parts for multipart/alternative sections, and we inline the content as we do for .msg files.

        The legacy behavior can be set by setting extractAllAlternatives to true. As of 1.17, the default value is false

        Parameters:
        extractAllAlternatives - whether or not to extract all alternative parts
        Since:
        1.17