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
Author:
Jason van Zyl
  • 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.
      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.
      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

      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

      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
    • setMacroExecutor

      void setMacroExecutor(MacroExecutor macroExecutor)
      Delegates macro execution to the given MacroExecutor.
      Parameters:
      macroExecutor - (may be null to use the built-in macro executor, which resolves all macros to Sink methods)}
      Since:
      2.1.0