Package org.commonmark.parser.block
Class AbstractBlockParser
- java.lang.Object
-
- org.commonmark.parser.block.AbstractBlockParser
-
- All Implemented Interfaces:
BlockParser
- Direct Known Subclasses:
BlockQuoteParser
,DocumentBlockParser
,FencedCodeBlockParser
,FootnoteBlockParser
,HeadingParser
,HtmlBlockParser
,IndentedCodeBlockParser
,ListBlockParser
,ListItemParser
,ParagraphParser
,TableBlockParser
,ThematicBreakParser
,YamlFrontMatterBlockParser
public abstract class AbstractBlockParser extends java.lang.Object implements BlockParser
-
-
Constructor Summary
Constructors Constructor Description AbstractBlockParser()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addLine(SourceLine line)
Add the part of a line that belongs to this block parser to parse (i.e.void
addSourceSpan(SourceSpan sourceSpan)
Add a source span of the currently parsed block.boolean
canContain(Block childBlock)
boolean
canHaveLazyContinuationLines()
Return true if the block can have lazy continuation lines.void
closeBlock()
java.util.List<DefinitionMap<?>>
getDefinitions()
Return definitions parsed by this parser.boolean
isContainer()
Return true if the block that is parsed is a container (contains other blocks), or false if it's a leaf.void
parseInlines(InlineParser inlineParser)
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.commonmark.parser.block.BlockParser
getBlock, tryContinue
-
-
-
-
Method Detail
-
isContainer
public boolean isContainer()
Description copied from interface:BlockParser
Return true if the block that is parsed is a container (contains other blocks), or false if it's a leaf.- Specified by:
isContainer
in interfaceBlockParser
-
canHaveLazyContinuationLines
public boolean canHaveLazyContinuationLines()
Description copied from interface:BlockParser
Return true if the block can have lazy continuation lines.Lazy continuation lines are lines that were rejected by this
BlockParser.tryContinue(ParserState)
but didn't match any other block parsers either.If true is returned here, those lines will get added via
BlockParser.addLine(SourceLine)
. For false, the block is closed instead.- Specified by:
canHaveLazyContinuationLines
in interfaceBlockParser
-
canContain
public boolean canContain(Block childBlock)
- Specified by:
canContain
in interfaceBlockParser
-
addLine
public void addLine(SourceLine line)
Description copied from interface:BlockParser
Add the part of a line that belongs to this block parser to parse (i.e. without any container block markers). Note that the line will only include aSourceLine.getSourceSpan()
if source spans are enabled for inlines.- Specified by:
addLine
in interfaceBlockParser
-
addSourceSpan
public void addSourceSpan(SourceSpan sourceSpan)
Description copied from interface:BlockParser
Add a source span of the currently parsed block. The default implementation inAbstractBlockParser
adds it to the block. Unless you have some complicated parsing where you need to check source positions, you don't need to override this.- Specified by:
addSourceSpan
in interfaceBlockParser
-
getDefinitions
public java.util.List<DefinitionMap<?>> getDefinitions()
Description copied from interface:BlockParser
Return definitions parsed by this parser. The definitions returned here can later be accessed during inline parsing viaInlineParserContext.getDefinition(java.lang.Class<D>, java.lang.String)
.- Specified by:
getDefinitions
in interfaceBlockParser
-
closeBlock
public void closeBlock()
- Specified by:
closeBlock
in interfaceBlockParser
-
parseInlines
public void parseInlines(InlineParser inlineParser)
- Specified by:
parseInlines
in interfaceBlockParser
-
-