Class AttributesNodeFormatter
- java.lang.Object
-
- com.vladsch.flexmark.ext.attributes.internal.AttributesNodeFormatter
-
- All Implemented Interfaces:
ExplicitAttributeIdProvider
,NodeFormatter
,PhasedNodeFormatter
public class AttributesNodeFormatter extends java.lang.Object implements PhasedNodeFormatter, ExplicitAttributeIdProvider
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
AttributesNodeFormatter.Factory
-
Field Summary
Fields Modifier and Type Field Description static DataKey<java.util.Map<java.lang.String,java.lang.String>>
ATTRIBUTE_ORIGINAL_ID_MAP
static DataKey<java.util.Map<java.lang.String,java.lang.String>>
ATTRIBUTE_TRANSLATED_MAP
static DataKey<java.lang.Integer>
ATTRIBUTE_TRANSLATION_ID
static DataKey<java.util.Map<java.lang.String,java.lang.String>>
ATTRIBUTE_TRANSLATION_MAP
static DataKey<java.util.Map<java.lang.String,java.lang.String>>
ATTRIBUTE_UNIQUIFICATION_CATEGORY_MAP
static DataKey<java.util.Map<java.lang.String,java.lang.String>>
ATTRIBUTE_UNIQUIFICATION_ID_MAP
static DataKey<java.util.Set<Node>>
PROCESSED_ATTRIBUTES
-
Constructor Summary
Constructors Constructor Description AttributesNodeFormatter(DataHolder options)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addExplicitId(Node node, java.lang.String id, NodeFormatterContext context, MarkdownWriter markdown)
Used by AttributesExtension to insert attributes for headings during mergestatic java.lang.String
getEncodedIdAttribute(java.lang.String category, java.lang.String categoryId, NodeFormatterContext context, MarkdownWriter markdown)
java.util.Set<FormattingPhase>
getFormattingPhases()
java.util.Set<java.lang.Class<?>>
getNodeClasses()
Collect nodes of given type so that they can be quickly accessed without traversing the AST by all formatting extensions.java.util.Set<NodeFormattingHandler<?>>
getNodeFormattingHandlers()
void
renderDocument(NodeFormatterContext context, MarkdownWriter markdown, Document document, FormattingPhase phase)
Render the specified node.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.vladsch.flexmark.formatter.NodeFormatter
getBlockQuoteLikePrefixChar
-
-
-
-
Field Detail
-
ATTRIBUTE_TRANSLATION_MAP
public static final DataKey<java.util.Map<java.lang.String,java.lang.String>> ATTRIBUTE_TRANSLATION_MAP
-
ATTRIBUTE_TRANSLATED_MAP
public static final DataKey<java.util.Map<java.lang.String,java.lang.String>> ATTRIBUTE_TRANSLATED_MAP
-
ATTRIBUTE_ORIGINAL_ID_MAP
public static final DataKey<java.util.Map<java.lang.String,java.lang.String>> ATTRIBUTE_ORIGINAL_ID_MAP
-
ATTRIBUTE_UNIQUIFICATION_ID_MAP
public static final DataKey<java.util.Map<java.lang.String,java.lang.String>> ATTRIBUTE_UNIQUIFICATION_ID_MAP
-
ATTRIBUTE_UNIQUIFICATION_CATEGORY_MAP
public static final DataKey<java.util.Map<java.lang.String,java.lang.String>> ATTRIBUTE_UNIQUIFICATION_CATEGORY_MAP
-
ATTRIBUTE_TRANSLATION_ID
public static final DataKey<java.lang.Integer> ATTRIBUTE_TRANSLATION_ID
-
-
Constructor Detail
-
AttributesNodeFormatter
public AttributesNodeFormatter(DataHolder options)
-
-
Method Detail
-
getNodeClasses
@Nullable public java.util.Set<java.lang.Class<?>> getNodeClasses()
Description copied from interface:NodeFormatter
Collect nodes of given type so that they can be quickly accessed without traversing the AST by all formatting extensions.- Specified by:
getNodeClasses
in interfaceNodeFormatter
- Returns:
- the nodes of interest to this formatter during formatting.
-
getFormattingPhases
@Nullable public java.util.Set<FormattingPhase> getFormattingPhases()
- Specified by:
getFormattingPhases
in interfacePhasedNodeFormatter
-
addExplicitId
public void addExplicitId(@NotNull Node node, @Nullable java.lang.String id, @NotNull NodeFormatterContext context, @NotNull MarkdownWriter markdown)
Description copied from interface:ExplicitAttributeIdProvider
Used by AttributesExtension to insert attributes for headings during merge- Specified by:
addExplicitId
in interfaceExplicitAttributeIdProvider
- Parameters:
node
- nodeid
- explicit idcontext
- contextmarkdown
- markdown writer
-
renderDocument
public void renderDocument(@NotNull NodeFormatterContext context, @NotNull MarkdownWriter markdown, @NotNull Document document, @NotNull FormattingPhase phase)
Description copied from interface:PhasedNodeFormatter
Render the specified node.- Specified by:
renderDocument
in interfacePhasedNodeFormatter
- Parameters:
context
- node renderer context instancemarkdown
- markdown writer instancedocument
- the document node to renderphase
- rendering phase for which to generate the output. Will be any ofFormattingPhase
exceptFormattingPhase.DOCUMENT
because this phase is used for the non-phased node rendering
-
getNodeFormattingHandlers
@Nullable public java.util.Set<NodeFormattingHandler<?>> getNodeFormattingHandlers()
- Specified by:
getNodeFormattingHandlers
in interfaceNodeFormatter
- Returns:
- the mapping of nodes this renderer handles to rendering function
-
getEncodedIdAttribute
public static java.lang.String getEncodedIdAttribute(java.lang.String category, java.lang.String categoryId, NodeFormatterContext context, MarkdownWriter markdown)
-
-