Class MarkdownDocParser

All Implemented Interfaces:
MarkdownMetaProvider, RecordReadable

public class MarkdownDocParser extends MarkdownParser
Parses Markdown document-mode output (headings + tables) back to POJOs.
Media types

Handles Content-Type types: text/markdown, text/x-markdown

Description

Extends MarkdownParser to parse Markdown documents produced by MarkdownDocSerializer. Heading sections are mapped back to nested bean properties based on heading text matching property names.

Example:

// Parse a Markdown document back to a bean String md = "# Person\n\n| Property | Value |\n|---|---|\n| name | Alice |\n\n## address\n\n| Property | Value |\n|---|---|\n| city | Boston |"; Person p = MarkdownDocParser.DEFAULT.read(md, Person.class);

// Round-trip example String md = MarkdownDocSerializer.DEFAULT.write(myBean); MyBean parsed = MarkdownDocParser.DEFAULT.read(md, MyBean.class);

Limitations:
  • Heading text must match bean property names exactly (case-sensitive).
  • Heading levels must be consistent with serializer output; manually edited heading levels may not parse correctly.
  • A heading followed by a bulleted list is treated as a List<String> property.
  • A heading followed by a multi-column table is treated as a List<Bean> property.
  • The top-level heading (title) is ignored; only sub-headings map to properties.
  • This class is thread safe and reusable.
See Also: