Class SQLite3Parser

All Implemented Interfaces:
Serializable, Initializable, Parser

public class SQLite3Parser extends AbstractParser implements Initializable
This is the main class for parsing SQLite3 files. When parse(, org.xml.sax.ContentHandler, org.apache.tika.metadata.Metadata, org.apache.tika.parser.ParseContext) is called, this creates a new SQLite3DBParser.

Given potential conflicts of native libraries in web servers, users will need to add org.xerial's sqlite-jdbc jar to the class path for this parser to work. For development and testing, this jar is specified in tika-parsers' pom.xml, but it is currently set to "provided."

Note that this family of jdbc parsers is designed to treat each CLOB and each BLOB as an embedded document; i.e. it will recursively process documents that are stored in a sqlite db as "bytes".

If using a TikaInputStream, make sure to close it to delete the temp file that has to be created.

See Also:
  • Constructor Details

    • SQLite3Parser

      public SQLite3Parser()
      Checks to see if class is available for org.sqlite.JDBC.

      If not, this class will return an EMPTY_SET for getSupportedTypes()

  • Method Details

    • 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.
      Specified by:
      getSupportedTypes in interface Parser
      context - parse context
      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.

      Specified by:
      parse in interface Parser
      stream - the document stream (input)
      handler - handler for the XHTML SAX events (output)
      metadata - document metadata (input and output)
      context - parse context
      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
    • initialize

      public void initialize(Map<String,Param> params) throws TikaConfigException
      Specified by:
      initialize in interface Initializable
      params - params to use for initialization
    • checkInitialization

      public void checkInitialization(InitializableProblemHandler problemHandler) throws TikaConfigException
      Specified by:
      checkInitialization in interface Initializable
      problemHandler - if there is a problem and no custom initializableProblemHandler has been configured via Initializable parameters, this is called to respond.