Class AbstractParser

  • All Implemented Interfaces:
    LogEnabled, Parser
    Direct Known Subclasses:
    AbstractTextParser, AbstractXmlParser

    public abstract class AbstractParser
    extends Object
    implements Parser
    An abstract base class that defines some convenience methods for parsers. Provides a macro mechanism to give dynamic functionalities for the parsing.
    Since:
    1.0
    Author:
    Jason van Zyl
    • Constructor Detail

      • AbstractParser

        public AbstractParser()
    • Method Detail

      • setEmitComments

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

        public boolean isEmitComments()

        isEmitComments.

        Specified by:
        isEmitComments in interface Parser
        Returns:
        a boolean.
      • getBasedir

        protected File getBasedir()
        Deprecated.
        this does not work in multi-module builds, see DOXIA-373
        Returns the current base directory.
        Returns:
        The base directory.
      • parse

        public void parse​(String string,
                          Sink sink)
                   throws ParseException
        Convenience method to parse an arbitrary string and emit events into the given sink.
        Parameters:
        string - A string that provides the source input.
        sink - A sink that consumes the Doxia events.
        Throws:
        ParseException - if the string could not be parsed.
        Since:
        1.1
      • parse

        public void parse​(Reader source,
                          Sink sink,
                          String reference)
                   throws ParseException
        Parses the given source model and emits Doxia events into the given sink.
        Specified by:
        parse in interface Parser
        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 - the reference
        Throws:
        ParseException - if the model could not be parsed.
      • setSecondParsing

        public void setSecondParsing​(boolean second)
        Set secondParsing to true, if we need a second parsing.
        Parameters:
        second - True for second parsing.
      • isSecondParsing

        protected boolean isSecondParsing()
        Indicates if we are currently parsing a second time.
        Returns:
        true if we are currently parsing a second time.
        Since:
        1.1
      • enableLogging

        public void enableLogging​(Log log)
        Enable a Doxia logger for this Doxia component.
        Specified by:
        enableLogging in interface LogEnabled
        Parameters:
        log - a Log.
      • getLog

        protected Log getLog()
        Returns the current logger for this parser. If no logger has been configured yet, a new SystemStreamLog is returned.
        Returns:
        Log
        Since:
        1.1
      • doxiaVersion

        protected static String doxiaVersion()
        The current Doxia version.
        Returns:
        the current Doxia version as a String.
        Since:
        1.2