Package org.apache.tika.parser
Class ParserDecorator
- java.lang.Object
-
- org.apache.tika.parser.ParserDecorator
-
- All Implemented Interfaces:
Serializable
,Parser
- Direct Known Subclasses:
CTAKESParser
,DigestingParser
,ParserPostProcessor
,RecursiveParserWrapper
,StatefulParser
public class ParserDecorator extends Object implements Parser
Decorator base class for theParser
interface.This class simply delegates all parsing calls to an underlying decorated parser instance. Subclasses can provide extra decoration by overriding the parse method.
To decorate several different parsers at the same time, wrap them in a
CompositeParser
instance first.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ParserDecorator(Parser parser)
Creates a decorator for the given parser.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description String
getDecorationName()
Set<MediaType>
getSupportedTypes(ParseContext context)
Delegates the method call to the decorated parser.Parser
getWrappedParser()
Gets the parser wrapped by this ParserDecoratorvoid
parse(InputStream stream, ContentHandler handler, Metadata metadata, ParseContext context)
Delegates the method call to the decorated parser.static Parser
withFallbacks(Collection<? extends Parser> parsers, Set<MediaType> types)
Deprecated.This has been replaced byFallbackParser
static Parser
withoutTypes(Parser parser, Set<MediaType> excludeTypes)
Decorates the given parser so that it never claims to support parsing of the given media types, but will work for all others.static Parser
withTypes(Parser parser, Set<MediaType> types)
Decorates the given parser so that it always claims to support parsing of the given media types.
-
-
-
Constructor Detail
-
ParserDecorator
public ParserDecorator(Parser parser)
Creates a decorator for the given parser.- Parameters:
parser
- the parser instance to be decorated
-
-
Method Detail
-
withTypes
public static final Parser withTypes(Parser parser, Set<MediaType> types)
Decorates the given parser so that it always claims to support parsing of the given media types.- Parameters:
parser
- the parser to be decoratedtypes
- supported media types- Returns:
- the decorated parser
-
withoutTypes
public static final Parser withoutTypes(Parser parser, Set<MediaType> excludeTypes)
Decorates the given parser so that it never claims to support parsing of the given media types, but will work for all others.- Parameters:
parser
- the parser to be decoratedexcludeTypes
- excluded/ignored media types- Returns:
- the decorated parser
-
withFallbacks
public static final Parser withFallbacks(Collection<? extends Parser> parsers, Set<MediaType> types)
Deprecated.This has been replaced byFallbackParser
Decorates the given parsers into a virtual parser, where they'll be tried in preference order until one works without error.
-
getSupportedTypes
public Set<MediaType> getSupportedTypes(ParseContext context)
Delegates the method call to the decorated parser. Subclasses should override this method (and usesuper.getSupportedTypes()
to invoke the decorated parser) to implement extra decoration.- Specified by:
getSupportedTypes
in interfaceParser
- 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
Delegates the method call to the decorated parser. Subclasses should override this method (and usesuper.parse()
to invoke the decorated parser) to implement extra decoration.- Specified by:
parse
in interfaceParser
- 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 readSAXException
- if the SAX events could not be processedTikaException
- if the document could not be parsed
-
getDecorationName
public String getDecorationName()
- Returns:
- A name/description of the decoration, or null if none available
-
getWrappedParser
public Parser getWrappedParser()
Gets the parser wrapped by this ParserDecorator- Returns:
- the parser wrapped by this ParserDecorator
-
-