Class Latin1StringsParser

  • All Implemented Interfaces:
    java.io.Serializable, Parser

    public class Latin1StringsParser
    extends AbstractParser
    Parser to extract printable Latin1 strings from arbitrary files with pure java without running any external process. Useful for binary or unknown files, for files without a specific parser and for corrupted ones causing a TikaException as a fallback parser. To enable the parsing of unknown or files without a specific parser with AutoDetectParser:

    AutoDetectParser parser = new AutoDetectParser(); parser.setFallback(new Latin1StringsParser());

    Currently the parser does a best effort to extract Latin1 strings, used by Western European languages, encoded with ISO-8859-1, UTF-8 or UTF-16 charsets mixed within the same file. The implementation is optimized for fast parsing with only one pass.
    See Also:
    Serialized Form
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int getMinSize()
      Returns the minimum size of a character sequence to be extracted.
      java.util.Set<MediaType> getSupportedTypes​(ParseContext arg0)
      Returns the set of media types supported by this parser when used with the given parse context.
      void parse​(java.io.InputStream stream, org.xml.sax.ContentHandler handler, Metadata metadata, ParseContext context)
      Parses a document stream into a sequence of XHTML SAX events.
      void setMinSize​(int minSize)
      Sets the minimum size of a character sequence to be extracted.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Latin1StringsParser

        public Latin1StringsParser()
    • Method Detail

      • getMinSize

        public int getMinSize()
        Returns the minimum size of a character sequence to be extracted.
        Returns:
        the minimum size of a character sequence
      • setMinSize

        public void setMinSize​(int minSize)
        Sets the minimum size of a character sequence to be extracted.
        Parameters:
        minSize - the minimum size of a character sequence
      • getSupportedTypes

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

        public void parse​(java.io.InputStream stream,
                          org.xml.sax.ContentHandler handler,
                          Metadata metadata,
                          ParseContext context)
                   throws java.io.IOException,
                          org.xml.sax.SAXException
        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:
        java.io.IOException - if the document stream could not be read
        org.xml.sax.SAXException - if the SAX events could not be processed
        See Also:
        Parser.parse(java.io.InputStream, org.xml.sax.ContentHandler, org.apache.tika.metadata.Metadata, org.apache.tika.parser.ParseContext)