Interface Parser

All Known Implementing Classes:
AbstractParser, AbstractTextParser, AbstractXmlParser, AptParser, FmlContentParser, FmlParser, MarkdownParser, MarkdownParser.MarkdownHtmlParser, XdocParser, Xhtml1BaseParser, Xhtml5BaseParser, Xhtml5Parser

public interface Parser
A Parser is responsible for parsing any document in a supported front-end format, and emitting the standard Doxia events, which can then be consumed by any Doxia Sink.
Since:
1.0
  • Field Details

  • Method Details

    • parse

      void parse(Reader source, Sink sink) throws ParseException
      Parses the given source model and emits Doxia events into the given sink. Shortcut for parse(Reader, Sink, String) with last argument being null.
      Parameters:
      source - not null reader that provides the source document. You could use newReader methods from ReaderFactory.
      sink - A sink that consumes the Doxia events.
      Throws:
      ParseException - if the model could not be parsed.
    • parse

      void parse(Reader source, Sink sink, String reference) throws ParseException
      Parses the given source model and emits Doxia events into the given sink.
      Parameters:
      source - not null reader that provides the source document. You could use newReader methods from ReaderFactory.
      sink - A sink that consumes the Doxia events.
      reference - a string identifying the source (for file based documents the source file path)
      Throws:
      ParseException - if the model could not be parsed.
    • getType

      int getType()
      The parser type value could be UNKNOWN_TYPE, TXT_TYPE or XML_TYPE.
      Returns:
      the type of Parser
    • setEmitComments

      void setEmitComments(boolean emitComments)
      When comments are found in source markup, emit comment Doxia events or just ignore?
      Parameters:
      emitComments - true (default value) to emit comment Doxia events
    • isEmitComments

      boolean isEmitComments()
      Does the parser emit Doxia comments event when comments found in source?
      Returns:
      true (default value) if comment Doxia events are emitted
    • addSinkWrapperFactory

      void addSinkWrapperFactory(SinkWrapperFactory factory)
      Registers a given SinkWrapperFactory with the parser used in subsequent calls of parse(...)
      Parameters:
      factory - the factory to create the sink wrapper
      Since:
      2.0.0
    • setEmitAnchorsForIndexableEntries

      void setEmitAnchorsForIndexableEntries(boolean emitAnchors)
      Determines whether to automatically generate anchors for each index entry found by IndexingSink or not. By default no anchors are generated.
      Parameters:
      emitAnchors - true to emit anchors otherwise false (the default)
      Since:
      2.0.0
    • isEmitAnchorsForIndexableEntries

      boolean isEmitAnchorsForIndexableEntries()
      Returns whether anchors are automatically generated for each index entry found by IndexingSink or not.
      Returns:
      true if anchors are emitted otherwise false
      Since:
      2.0.0