Package com.vladsch.flexmark.formatter
Interface NodeFormatterContext
-
- All Superinterfaces:
ExplicitAttributeIdProvider,LinkResolverBasicContext,LinkResolverContext,NodeContext<Node,NodeFormatterContext>,TranslationContext
- All Known Implementing Classes:
Formatter.MainNodeFormatter,Formatter.MainNodeFormatter.SubNodeFormatter,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 voiddelegateRender()pass node rendering to previously registered handler@NotNull BasedSequencegetBlockQuoteLikePrefixChars()@NotNull CharPredicategetBlockQuoteLikePrefixPredicate()@NotNull DocumentgetDocument()@NotNull FormatterOptionsgetFormatterOptions()@NotNull FormattingPhasegetFormattingPhase()@NotNull MarkdownWritergetMarkdown()@NotNull DataHoldergetOptions()Get the current rendering contextDataHolder.@NotNull TrackedOffsetListgetTrackedOffsets()@NotNull BasedSequencegetTrackedSequence()NOTE: parser can only use a contiguous sequence, not segmented.booleanisRestoreTrackedSpaces()@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.@NotNull java.lang.Iterable<? extends Node>nodesOfType(@NotNull java.util.Collection<java.lang.Class<?>> classes)voidrender(@NotNull Node node)Render the specified node and its children using the configured renderers.voidrenderChildren(@NotNull Node parent)Render the children of the node, used by custom renderers@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.@NotNull java.lang.Iterable<? extends Node>reversedNodesOfType(@NotNull 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 @NotNull MarkdownWriter getMarkdown()
- Returns:
- the HTML writer to use
-
render
void render(@NotNull @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:
renderin interfaceLinkResolverContext- Parameters:
node- the node to render
-
renderChildren
void renderChildren(@NotNull @NotNull Node parent)Render the children of the node, used by custom renderers- Specified by:
renderChildrenin interfaceLinkResolverContext- Parameters:
parent- node the children of which are to be rendered
-
getFormattingPhase
@NotNull @NotNull FormattingPhase getFormattingPhase()
- Returns:
- current rendering phase
-
delegateRender
void delegateRender()
pass node rendering to previously registered handler
-
getOptions
@NotNull @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:
getOptionsin interfaceLinkResolverBasicContext- Specified by:
getOptionsin interfaceLinkResolverContext- Specified by:
getOptionsin interfaceNodeContext<Node,NodeFormatterContext>- Returns:
- the current renderer options
DataHolder
-
getFormatterOptions
@NotNull @NotNull FormatterOptions getFormatterOptions()
- Returns:
- the
FormatterOptionsfor the context.
-
getDocument
@NotNull @NotNull Document getDocument()
- Specified by:
getDocumentin interfaceLinkResolverBasicContext- Specified by:
getDocumentin interfaceLinkResolverContext- Returns:
- the
Documentnode of the current context
-
getBlockQuoteLikePrefixPredicate
@NotNull @NotNull CharPredicate getBlockQuoteLikePrefixPredicate()
- Returns:
- predicate for prefix chars which compact like block quote prefix char
-
getBlockQuoteLikePrefixChars
@NotNull @NotNull BasedSequence getBlockQuoteLikePrefixChars()
- Returns:
- char sequence of all prefix chars which compact like block quote prefix char
-
getTrackedOffsets
@NotNull @NotNull TrackedOffsetList getTrackedOffsets()
- Returns:
- tracked offset list
-
isRestoreTrackedSpaces
boolean isRestoreTrackedSpaces()
-
getTrackedSequence
@NotNull @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.NULLwhen 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 @NotNull java.lang.Iterable<? extends Node> nodesOfType(@NotNull @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.CoreNodeFormatterregistersRefNodeifFormatter.REFERENCE_SORTis set toElementPlacementSort.SORT_UNUSED_LASTso that- Parameters:
classes- node classes to return- Returns:
- iterable
-
nodesOfType
@NotNull @NotNull java.lang.Iterable<? extends Node> nodesOfType(@NotNull @NotNull java.util.Collection<java.lang.Class<?>> classes)
-
reversedNodesOfType
@NotNull @NotNull java.lang.Iterable<? extends Node> reversedNodesOfType(@NotNull @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.CoreNodeFormatterregistersRefNodeifFormatter.REFERENCE_SORTis set toElementPlacementSort.SORT_UNUSED_LASTso that- Parameters:
classes- node classes to return- Returns:
- iterable
-
reversedNodesOfType
@NotNull @NotNull java.lang.Iterable<? extends Node> reversedNodesOfType(@NotNull @NotNull java.util.Collection<java.lang.Class<?>> classes)
-
-