Class ParserDecorator

    • 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 decorated
        types - 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 decorated
        excludeTypes - 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 by FallbackParser
        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 use super.getSupportedTypes() to invoke the decorated parser) to implement extra decoration.
        Specified by:
        getSupportedTypes in interface Parser
        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 use super.parse() to invoke the decorated parser) to implement extra decoration.
        Specified by:
        parse in interface Parser
        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
      • 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