Package com.vladsch.flexmark.formatter
Interface NodeFormatterContext
-
- All Superinterfaces:
ExplicitAttributeIdProvider
,LinkResolverBasicContext
,LinkResolverContext
,NodeContext<Node,NodeFormatterContext>
,TranslationContext
- All Known Implementing Classes:
NodeFormatterSubContext
public interface NodeFormatterContext extends NodeContext<Node,NodeFormatterContext>, TranslationContext, LinkResolverContext, ExplicitAttributeIdProvider
The context for node rendering, including configuration and functionality for the node renderer to use.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
delegateRender()
pass node rendering to previously registered handlerBasedSequence
getBlockQuoteLikePrefixChars()
CharPredicate
getBlockQuoteLikePrefixPredicate()
Document
getDocument()
FormatterOptions
getFormatterOptions()
FormattingPhase
getFormattingPhase()
MarkdownWriter
getMarkdown()
DataHolder
getOptions()
Get the current rendering contextDataHolder
.TrackedOffsetList
getTrackedOffsets()
BasedSequence
getTrackedSequence()
NOTE: parser can only use a contiguous sequence, not segmented.boolean
isRestoreTrackedSpaces()
java.lang.Iterable<? extends Node>
nodesOfType(java.lang.Class<?>[] classes)
Get iterable of nodes of given types, in order of their appearance in the document tree, depth first traversal.java.lang.Iterable<? extends Node>
nodesOfType(java.util.Collection<java.lang.Class<?>> classes)
void
render(Node node)
Render the specified node and its children using the configured renderers.void
renderChildren(Node parent)
Render the children of the node, used by custom renderersjava.lang.Iterable<? extends Node>
reversedNodesOfType(java.lang.Class<?>[] classes)
Get iterable of nodes of given types, in reverse order of their appearance in the document tree, depth first traversal.java.lang.Iterable<? extends Node>
reversedNodesOfType(java.util.Collection<java.lang.Class<?>> classes)
-
Methods inherited from interface com.vladsch.flexmark.formatter.ExplicitAttributeIdProvider
addExplicitId
-
Methods inherited from interface com.vladsch.flexmark.html.renderer.LinkResolverContext
encodeUrl, getCurrentNode, resolveLink, resolveLink
-
Methods inherited from interface com.vladsch.flexmark.util.format.NodeContext
getCurrentNode, getSubContext, getSubContext, getSubContext
-
Methods inherited from interface com.vladsch.flexmark.formatter.TranslationContext
customPlaceholderFormat, getIdGenerator, getMergeContext, getRenderPurpose, getTranslationStore, isPostProcessingNonTranslating, isTransformingText, nonTranslatingSpan, postProcessNonTranslating, postProcessNonTranslating, transformAnchorRef, transformNonTranslating, transformTranslating, translatingRefTargetSpan, translatingSpan
-
-
-
-
Method Detail
-
getMarkdown
@NotNull MarkdownWriter getMarkdown()
- Returns:
- the HTML writer to use
-
render
void render(@NotNull Node node)
Render the specified node and its children using the configured renderers. This should be used to render child nodes; be careful not to pass the node that is being rendered, that would result in an endless loop.- Specified by:
render
in interfaceLinkResolverContext
- Parameters:
node
- the node to render
-
renderChildren
void renderChildren(@NotNull Node parent)
Render the children of the node, used by custom renderers- Specified by:
renderChildren
in interfaceLinkResolverContext
- Parameters:
parent
- node the children of which are to be rendered
-
getFormattingPhase
@NotNull FormattingPhase getFormattingPhase()
- Returns:
- current rendering phase
-
delegateRender
void delegateRender()
pass node rendering to previously registered handler
-
getOptions
@NotNull DataHolder getOptions()
Get the current rendering contextDataHolder
. These are the options passed or set on theFormatter.builder()
or passed toFormatter.builder(DataHolder)
. To get the document options you should usegetDocument()
as the data holder.- Specified by:
getOptions
in interfaceLinkResolverBasicContext
- Specified by:
getOptions
in interfaceLinkResolverContext
- Specified by:
getOptions
in interfaceNodeContext<Node,NodeFormatterContext>
- Returns:
- the current renderer options
DataHolder
-
getFormatterOptions
@NotNull FormatterOptions getFormatterOptions()
- Returns:
- the
FormatterOptions
for the context.
-
getDocument
@NotNull Document getDocument()
- Specified by:
getDocument
in interfaceLinkResolverBasicContext
- Specified by:
getDocument
in interfaceLinkResolverContext
- Returns:
- the
Document
node of the current context
-
getBlockQuoteLikePrefixPredicate
@NotNull CharPredicate getBlockQuoteLikePrefixPredicate()
- Returns:
- predicate for prefix chars which compact like block quote prefix char
-
getBlockQuoteLikePrefixChars
@NotNull BasedSequence getBlockQuoteLikePrefixChars()
- Returns:
- char sequence of all prefix chars which compact like block quote prefix char
-
getTrackedOffsets
@NotNull TrackedOffsetList getTrackedOffsets()
- Returns:
- tracked offset list
-
isRestoreTrackedSpaces
boolean isRestoreTrackedSpaces()
-
getTrackedSequence
@NotNull BasedSequence getTrackedSequence()
NOTE: parser can only use a contiguous sequence, not segmented. Therefore, the AST offsets and base sequence from AST nodes has always an index into sequence equal to the offset. This sequence is set to notBasedSequence.NULL
when the format sequence used for tracked offsets is not contiguous and TrackedOffset.offset is an offset from this sequence and need to be converted to index into this sequence to be used as an offset into AST sequence for offset conversion- Returns:
- original sequence used for tracked offsets.
-
nodesOfType
@NotNull java.lang.Iterable<? extends Node> nodesOfType(@NotNull java.lang.Class<?>[] classes)
Get iterable of nodes of given types, in order of their appearance in the document tree, depth first traversal. Only node classes returned byNodeFormatter.getNodeClasses()
of all loaded extensions will be available to formatters.CoreNodeFormatter
registersRefNode
ifFormatter.REFERENCE_SORT
is set toElementPlacementSort.SORT_UNUSED_LAST
so that- Parameters:
classes
- node classes to return- Returns:
- iterable
-
nodesOfType
@NotNull java.lang.Iterable<? extends Node> nodesOfType(@NotNull java.util.Collection<java.lang.Class<?>> classes)
-
reversedNodesOfType
@NotNull java.lang.Iterable<? extends Node> reversedNodesOfType(@NotNull java.lang.Class<?>[] classes)
Get iterable of nodes of given types, in reverse order of their appearance in the document tree, depth first traversal. Only node classes returned byNodeFormatter.getNodeClasses()
of all loaded extensions will be available to formatters.CoreNodeFormatter
registersRefNode
ifFormatter.REFERENCE_SORT
is set toElementPlacementSort.SORT_UNUSED_LAST
so that- Parameters:
classes
- node classes to return- Returns:
- iterable
-
reversedNodesOfType
@NotNull java.lang.Iterable<? extends Node> reversedNodesOfType(@NotNull java.util.Collection<java.lang.Class<?>> classes)
-
-