Class AbstractParser

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

    public abstract class AbstractParser
    extends java.lang.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
    Version:
    $Id$
    • Field Detail

      • secondParsing

        private boolean secondParsing
        Indicates that a second parsing is required.
      • macroManager

        @Requirement
        private MacroManager macroManager
      • logger

        private Log logger
        Log instance.
      • emitComments

        private boolean emitComments
        Emit Doxia comment events when parsing comments?
      • DOXIA_VERSION

        private static final java.lang.String DOXIA_VERSION
    • Constructor Detail

      • AbstractParser

        public AbstractParser()
    • Method Detail

      • setEmitComments

        public void setEmitComments​(boolean emitComments)
        Description copied from interface: Parser
        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()
        Description copied from interface: Parser
        Does the parser emit Doxia comments event when comments found in source?
        Specified by:
        isEmitComments in interface Parser
        Returns:
        true (default value) if comment Doxia events are emitted
      • getBasedir

        protected java.io.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​(java.lang.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​(java.io.Reader source,
                          Sink sink,
                          java.lang.String reference)
                   throws ParseException
        Description copied from interface: Parser
        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 java.lang.String doxiaVersion()
        The current Doxia version.
        Returns:
        the current Doxia version as a String.
        Since:
        1.2