Package org.asciidoctor.extension
Class BaseProcessor
- java.lang.Object
-
- org.asciidoctor.extension.BaseProcessor
-
- All Implemented Interfaces:
Processor
- Direct Known Subclasses:
BlockProcessor
,DocinfoProcessor
,IncludeProcessor
,MacroProcessor
,Postprocessor
,Preprocessor
,Treeprocessor
public class BaseProcessor extends java.lang.Object implements Processor
-
-
Constructor Summary
Constructors Constructor Description BaseProcessor()
BaseProcessor(java.util.Map<java.lang.String,java.lang.Object> config)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Block
createBlock(StructuralNode parent, java.lang.String context, java.lang.String content)
Block
createBlock(StructuralNode parent, java.lang.String context, java.lang.String content, java.util.Map<java.lang.String,java.lang.Object> attributes)
Block
createBlock(StructuralNode parent, java.lang.String context, java.lang.String content, java.util.Map<java.lang.String,java.lang.Object> attributes, java.util.Map<java.lang.Object,java.lang.Object> options)
Block
createBlock(StructuralNode parent, java.lang.String context, java.util.List<java.lang.String> content)
Block
createBlock(StructuralNode parent, java.lang.String context, java.util.List<java.lang.String> content, java.util.Map<java.lang.String,java.lang.Object> attributes)
Block
createBlock(StructuralNode parent, java.lang.String context, java.util.List<java.lang.String> content, java.util.Map<java.lang.String,java.lang.Object> attributes, java.util.Map<java.lang.Object,java.lang.Object> options)
Block
createBlock(StructuralNode parent, java.lang.String context, java.util.Map<java.lang.Object,java.lang.Object> options)
Document
createDocument(Document parentDocument)
Creates an inner document for the given parent document.List
createList(StructuralNode parent, java.lang.String context)
Creates a new List.List
createList(StructuralNode parent, java.lang.String context, java.util.Map<java.lang.Object,java.lang.Object> options)
Creates a new List.List
createList(StructuralNode parent, java.lang.String context, java.util.Map<java.lang.String,java.lang.Object> attributes, java.util.Map<java.lang.Object,java.lang.Object> options)
Creates a new List.ListItem
createListItem(DescriptionList parent, java.lang.String text)
ListItem
createListItem(List parent, java.lang.String text)
PhraseNode
createPhraseNode(ContentNode parent, java.lang.String context, java.lang.String text)
PhraseNode
createPhraseNode(ContentNode parent, java.lang.String context, java.lang.String text, java.util.Map<java.lang.String,java.lang.Object> attributes)
PhraseNode
createPhraseNode(ContentNode parent, java.lang.String context, java.lang.String text, java.util.Map<java.lang.String,java.lang.Object> attributes, java.util.Map<java.lang.String,java.lang.Object> options)
PhraseNode
createPhraseNode(ContentNode parent, java.lang.String context, java.util.List<java.lang.String> text)
PhraseNode
createPhraseNode(ContentNode parent, java.lang.String context, java.util.List<java.lang.String> text, java.util.Map<java.lang.String,java.lang.Object> attributes)
PhraseNode
createPhraseNode(ContentNode parent, java.lang.String context, java.util.List<java.lang.String> text, java.util.Map<java.lang.String,java.lang.Object> attributes, java.util.Map<java.lang.Object,java.lang.Object> options)
Section
createSection(StructuralNode parent)
Section
createSection(StructuralNode parent, boolean numbered, java.util.Map<java.lang.Object,java.lang.Object> options)
Section
createSection(StructuralNode parent, int level, boolean numbered, java.util.Map<java.lang.Object,java.lang.Object> options)
Section
createSection(StructuralNode parent, java.lang.Integer level, boolean numbered, java.util.Map<java.lang.Object,java.lang.Object> options)
Section
createSection(StructuralNode parent, java.util.Map<java.lang.Object,java.lang.Object> options)
Table
createTable(StructuralNode parent)
Table
createTable(StructuralNode parent, java.util.Map<java.lang.String,java.lang.Object> attributes)
Cell
createTableCell(Column column, java.lang.String text)
Cell
createTableCell(Column column, java.lang.String text, java.util.Map<java.lang.String,java.lang.Object> attributes)
Cell
createTableCell(Column column, Document innerDocument)
Cell
createTableCell(Column column, Document innerDocument, java.util.Map<java.lang.String,java.lang.Object> attributes)
Column
createTableColumn(Table parent, int index)
Column
createTableColumn(Table parent, int index, java.util.Map<java.lang.String,java.lang.Object> attributes)
Row
createTableRow(Table parent)
java.util.Map<java.lang.String,java.lang.Object>
getConfig()
void
log(LogRecord logRecord)
void
parseContent(StructuralNode parent, java.util.List<java.lang.String> lines)
Parses the given raw asciidoctor content, parses it and appends it as children to the given parent block.void
setConfig(java.util.Map<java.lang.String,java.lang.Object> config)
<T> T
unwrap(java.lang.Class<T> clazz)
void
updateConfig(java.util.Map<java.lang.String,java.lang.Object> config)
-
-
-
Method Detail
-
getConfig
public java.util.Map<java.lang.String,java.lang.Object> getConfig()
-
setConfig
public final void setConfig(java.util.Map<java.lang.String,java.lang.Object> config)
-
updateConfig
public final void updateConfig(java.util.Map<java.lang.String,java.lang.Object> config)
- Specified by:
updateConfig
in interfaceProcessor
-
unwrap
public final <T> T unwrap(java.lang.Class<T> clazz)
-
createTable
public Table createTable(StructuralNode parent)
- Specified by:
createTable
in interfaceProcessor
-
createTable
public Table createTable(StructuralNode parent, java.util.Map<java.lang.String,java.lang.Object> attributes)
- Specified by:
createTable
in interfaceProcessor
-
createTableRow
public Row createTableRow(Table parent)
- Specified by:
createTableRow
in interfaceProcessor
-
createTableColumn
public Column createTableColumn(Table parent, int index, java.util.Map<java.lang.String,java.lang.Object> attributes)
- Specified by:
createTableColumn
in interfaceProcessor
-
createTableCell
public Cell createTableCell(Column column, Document innerDocument, java.util.Map<java.lang.String,java.lang.Object> attributes)
- Specified by:
createTableCell
in interfaceProcessor
-
createTableCell
public Cell createTableCell(Column column, java.lang.String text, java.util.Map<java.lang.String,java.lang.Object> attributes)
- Specified by:
createTableCell
in interfaceProcessor
-
createPhraseNode
public PhraseNode createPhraseNode(ContentNode parent, java.lang.String context, java.util.List<java.lang.String> text, java.util.Map<java.lang.String,java.lang.Object> attributes, java.util.Map<java.lang.Object,java.lang.Object> options)
- Specified by:
createPhraseNode
in interfaceProcessor
-
createPhraseNode
public PhraseNode createPhraseNode(ContentNode parent, java.lang.String context, java.lang.String text, java.util.Map<java.lang.String,java.lang.Object> attributes, java.util.Map<java.lang.String,java.lang.Object> options)
- Specified by:
createPhraseNode
in interfaceProcessor
-
createBlock
public Block createBlock(StructuralNode parent, java.lang.String context, java.util.Map<java.lang.Object,java.lang.Object> options)
- Specified by:
createBlock
in interfaceProcessor
-
createSection
public Section createSection(StructuralNode parent, java.lang.Integer level, boolean numbered, java.util.Map<java.lang.Object,java.lang.Object> options)
- Specified by:
createSection
in interfaceProcessor
-
createDocument
public Document createDocument(Document parentDocument)
Description copied from interface:Processor
Creates an inner document for the given parent document. Inner documents are used for tables cells with styleasciidoc
.- Specified by:
createDocument
in interfaceProcessor
- Parameters:
parentDocument
- The parent document of the new document.- Returns:
- A new inner document.
-
createListItem
public ListItem createListItem(List parent, java.lang.String text)
- Specified by:
createListItem
in interfaceProcessor
-
createList
public List createList(StructuralNode parent, java.lang.String context)
Description copied from interface:Processor
Creates a new List. This method is experimental and may change in future minor releases until declared to be stable.- Specified by:
createList
in interfaceProcessor
- Parameters:
parent
- The block to which the parsed content should be added as children.context
- Either"olist"
,ulist
,colist
ordlist
- Returns:
- A List node that can be added to the AST of a document.
-
createList
public List createList(StructuralNode parent, java.lang.String context, java.util.Map<java.lang.String,java.lang.Object> attributes, java.util.Map<java.lang.Object,java.lang.Object> options)
Description copied from interface:Processor
Creates a new List. This method is experimental and may change in future minor releases until declared to be stable.- Specified by:
createList
in interfaceProcessor
- Parameters:
parent
- The block to which the parsed content should be added as children.context
- Either"olist"
,ulist
,colist
ordlist
attributes
- Additional attributes to be set on the new list node, e.g.Collections.singletonMap("start", "2")
.options
- Additional options to be set on the new list node.- Returns:
- A List node that can be added to the AST of a document.
-
createList
public List createList(StructuralNode parent, java.lang.String context, java.util.Map<java.lang.Object,java.lang.Object> options)
Description copied from interface:Processor
Creates a new List. This method is experimental and may change in future minor releases until declared to be stable.- Specified by:
createList
in interfaceProcessor
- Parameters:
parent
- The block to which the parsed content should be added as children.context
- Either"olist"
,ulist
,colist
ordlist
options
- Additional options to be set on the new list node.- Returns:
- A List node that can be added to the AST of a document.
-
createListItem
public ListItem createListItem(DescriptionList parent, java.lang.String text)
- Specified by:
createListItem
in interfaceProcessor
-
parseContent
public void parseContent(StructuralNode parent, java.util.List<java.lang.String> lines)
Description copied from interface:Processor
Parses the given raw asciidoctor content, parses it and appends it as children to the given parent block.The following example will add two paragraphs with the role
newcontent
to all top level sections of a document:Asciidoctor asciidoctor = ... asciidoctor.javaExtensionRegistry().treeprocessor(new Treeprocessor() { DocumentRuby process(DocumentRuby document) { for (AbstractBlock block: document.getBlocks()) { if (block instanceof Section) { parseContent(block, Arrays.asList(new String[]{ "[newcontent]", "This is new content" "", "[newcontent]", "This is also new content"})); } } } }); - Specified by:
parseContent
in interfaceProcessor
- Parameters:
parent
- The block to which the parsed content should be added as children.lines
- Raw asciidoctor content
-
createTableColumn
public Column createTableColumn(Table parent, int index)
- Specified by:
createTableColumn
in interfaceProcessor
-
createTableCell
public Cell createTableCell(Column column, java.lang.String text)
- Specified by:
createTableCell
in interfaceProcessor
-
createTableCell
public Cell createTableCell(Column column, Document innerDocument)
- Specified by:
createTableCell
in interfaceProcessor
-
createBlock
public Block createBlock(StructuralNode parent, java.lang.String context, java.lang.String content)
- Specified by:
createBlock
in interfaceProcessor
-
createBlock
public Block createBlock(StructuralNode parent, java.lang.String context, java.lang.String content, java.util.Map<java.lang.String,java.lang.Object> attributes)
- Specified by:
createBlock
in interfaceProcessor
-
createBlock
public Block createBlock(StructuralNode parent, java.lang.String context, java.lang.String content, java.util.Map<java.lang.String,java.lang.Object> attributes, java.util.Map<java.lang.Object,java.lang.Object> options)
- Specified by:
createBlock
in interfaceProcessor
-
createBlock
public Block createBlock(StructuralNode parent, java.lang.String context, java.util.List<java.lang.String> content)
- Specified by:
createBlock
in interfaceProcessor
-
createBlock
public Block createBlock(StructuralNode parent, java.lang.String context, java.util.List<java.lang.String> content, java.util.Map<java.lang.String,java.lang.Object> attributes)
- Specified by:
createBlock
in interfaceProcessor
-
createBlock
public Block createBlock(StructuralNode parent, java.lang.String context, java.util.List<java.lang.String> content, java.util.Map<java.lang.String,java.lang.Object> attributes, java.util.Map<java.lang.Object,java.lang.Object> options)
- Specified by:
createBlock
in interfaceProcessor
-
createSection
public Section createSection(StructuralNode parent)
- Specified by:
createSection
in interfaceProcessor
-
createSection
public Section createSection(StructuralNode parent, java.util.Map<java.lang.Object,java.lang.Object> options)
- Specified by:
createSection
in interfaceProcessor
-
createSection
public Section createSection(StructuralNode parent, boolean numbered, java.util.Map<java.lang.Object,java.lang.Object> options)
- Specified by:
createSection
in interfaceProcessor
-
createSection
public Section createSection(StructuralNode parent, int level, boolean numbered, java.util.Map<java.lang.Object,java.lang.Object> options)
- Specified by:
createSection
in interfaceProcessor
-
createPhraseNode
public PhraseNode createPhraseNode(ContentNode parent, java.lang.String context, java.util.List<java.lang.String> text)
- Specified by:
createPhraseNode
in interfaceProcessor
-
createPhraseNode
public PhraseNode createPhraseNode(ContentNode parent, java.lang.String context, java.util.List<java.lang.String> text, java.util.Map<java.lang.String,java.lang.Object> attributes)
- Specified by:
createPhraseNode
in interfaceProcessor
-
createPhraseNode
public PhraseNode createPhraseNode(ContentNode parent, java.lang.String context, java.lang.String text)
- Specified by:
createPhraseNode
in interfaceProcessor
-
createPhraseNode
public PhraseNode createPhraseNode(ContentNode parent, java.lang.String context, java.lang.String text, java.util.Map<java.lang.String,java.lang.Object> attributes)
- Specified by:
createPhraseNode
in interfaceProcessor
-
-