Class Parser.Builder
- Enclosing class:
Parser
Parser
.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final List
<BlockParserFactory> private final List
<DelimiterProcessor> private IncludeSourceSpans
private InlineParserFactory
private final List
<PostProcessor> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuild()
customBlockParserFactory
(BlockParserFactory blockParserFactory) Adds a custom block parser factory.customDelimiterProcessor
(DelimiterProcessor delimiterProcessor) Adds a custom delimiter processor.enabledBlockTypes
(Set<Class<? extends Block>> enabledBlockTypes) Describe the list of markdown features the parser will recognize and parse.extensions
(Iterable<? extends Extension> extensions) private InlineParserFactory
includeSourceSpans
(IncludeSourceSpans includeSourceSpans) Whether to calculateSourceSpan
forNode
.inlineParserFactory
(InlineParserFactory inlineParserFactory) Overrides the parser used for inline markdown processing.postProcessor
(PostProcessor postProcessor)
-
Field Details
-
blockParserFactories
-
delimiterProcessors
-
postProcessors
-
enabledBlockTypes
-
inlineParserFactory
-
includeSourceSpans
-
-
Constructor Details
-
Builder
public Builder()
-
-
Method Details
-
build
- Returns:
- the configured
Parser
-
extensions
- Parameters:
extensions
- extensions to use on this parser- Returns:
this
-
enabledBlockTypes
Describe the list of markdown features the parser will recognize and parse.By default, CommonMark will recognize and parse the following set of "block" elements:
Heading
(#
)HtmlBlock
(<html></html>
)ThematicBreak
(Horizontal Rule) (---
)FencedCodeBlock
(```
)IndentedCodeBlock
BlockQuote
(>
)ListBlock
(Ordered / Unordered List) (1. / *
)
To parse only a subset of the features listed above, pass a list of each feature's associated
Block
class.E.g., to only parse headings and lists:
Parser.builder().enabledBlockTypes(new HashSet<>(Arrays.asList(Heading.class, ListBlock.class)));
- Parameters:
enabledBlockTypes
- A list of block nodes the parser will parse. If this list is empty, the parser will not recognize any CommonMark core features.- Returns:
this
-
includeSourceSpans
- Parameters:
includeSourceSpans
- which kind of source spans should be included- Returns:
this
- Since:
- 0.16.0
-
customBlockParserFactory
Adds a custom block parser factory.Note that custom factories are applied before the built-in factories. This is so that extensions can change how some syntax is parsed that would otherwise be handled by built-in factories. "With great power comes great responsibility."
- Parameters:
blockParserFactory
- a block parser factory implementation- Returns:
this
-
customDelimiterProcessor
Adds a custom delimiter processor.Note that multiple delimiter processors with the same characters can be added, as long as they have a different minimum length. In that case, the processor with the shortest matching length is used. Adding more than one delimiter processor with the same character and minimum length is invalid.
- Parameters:
delimiterProcessor
- a delimiter processor implementation- Returns:
this
-
postProcessor
-
inlineParserFactory
Overrides the parser used for inline markdown processing.Provide an implementation of InlineParserFactory which provides a custom inline parser to modify how the following are parsed: bold (**) italic (*) strikethrough (~~) backtick quote (`) link ([title](http://)) image ()
Note that if this method is not called or the inline parser factory is set to null, then the default implementation will be used.
- Parameters:
inlineParserFactory
- an inline parser factory implementation- Returns:
this
-
getInlineParserFactory
-