Package org.apache.tika.extractor
Class ParserContainerExtractor
- java.lang.Object
-
- org.apache.tika.extractor.ParserContainerExtractor
-
- All Implemented Interfaces:
Serializable
,ContainerExtractor
public class ParserContainerExtractor extends Object implements ContainerExtractor
An implementation ofContainerExtractor
powered by the regularParser
API. This allows you to easily extract out all the embedded resources from within container files supported by normal Tika parsers. By default theAutoDetectParser
will be used, to allow extraction from the widest range of containers.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ParserContainerExtractor()
ParserContainerExtractor(TikaConfig config)
ParserContainerExtractor(Parser parser, Detector detector)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
extract(TikaInputStream stream, ContainerExtractor recurseExtractor, EmbeddedResourceHandler handler)
Processes a container file, and extracts all the embedded resources from within it.boolean
isSupported(TikaInputStream input)
Is this Container Extractor able to process the supplied container?
-
-
-
Constructor Detail
-
ParserContainerExtractor
public ParserContainerExtractor()
-
ParserContainerExtractor
public ParserContainerExtractor(TikaConfig config)
-
-
Method Detail
-
isSupported
public boolean isSupported(TikaInputStream input) throws IOException
Description copied from interface:ContainerExtractor
Is this Container Extractor able to process the supplied container?- Specified by:
isSupported
in interfaceContainerExtractor
- Throws:
IOException
-
extract
public void extract(TikaInputStream stream, ContainerExtractor recurseExtractor, EmbeddedResourceHandler handler) throws IOException, TikaException
Description copied from interface:ContainerExtractor
Processes a container file, and extracts all the embedded resources from within it.The
EmbeddedResourceHandler
you supply will be called for each embedded resource in the container. It is up to you whether you process the contents of the resource or not.The given document stream is consumed but not closed by this method. The responsibility to close the stream remains on the caller.
If required, nested containers (such as a .docx within a .zip) can automatically be recursed into, and processed inline. If no recurseExtractor is given, the nested containers will be treated as with any other embedded resources.
- Specified by:
extract
in interfaceContainerExtractor
- Parameters:
stream
- the document stream (input)recurseExtractor
- the extractor to use on any embedded containershandler
- handler for the embedded files (output)- Throws:
IOException
- if the document stream could not be readTikaException
- if the container could not be parsed
-
-