Class PackageParser

All Implemented Interfaces:
Serializable, Parser

public class PackageParser extends AbstractEncodingDetectorParser
Parser for various packaging formats. Package entries will be written to the XHTML event stream as <div class="package-entry"> elements that contain the (optional) entry name as a <h1> element and the full structured body content of the parsed entry.

User must have JCE Unlimited Strength jars installed for encryption to work with 7Z files (see: COMPRESS-299 and TIKA-1521). If the jars are not installed, an IOException will be thrown, and potentially wrapped in a TikaException.

See Also:
  • Constructor Details

    • PackageParser

      public PackageParser()
    • PackageParser

      public PackageParser(EncodingDetector encodingDetector)
  • Method Details

    • handleEntryMetadata

      protected static Metadata handleEntryMetadata(String name, Date createAt, Date modifiedAt, Long size, XHTMLContentHandler xhtml) throws SAXException, IOException, TikaException
      Throws:
      SAXException
      IOException
      TikaException
    • 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
    • setDetectCharsetsInEntryNames

      @Field public void setDetectCharsetsInEntryNames(boolean detectCharsetsInEntryNames)
      Whether or not to run the default charset detector against entry names in ZipFiles. The default is true.
      Parameters:
      detectCharsetsInEntryNames -
    • isDetectCharsetsInEntryNames

      public boolean isDetectCharsetsInEntryNames()