Interface AttributeProvider
-
- All Known Implementing Classes:
AttributesAttributeProvider
,EmbeddedAttributeProvider
,ZzzzzzAttributeProvider
public interface AttributeProvider
Extension point for adding/changing attributes on the primary HTML tag for a node.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
setAttributes(Node node, AttributablePart part, MutableAttributes attributes)
Set the attributes for the node by modifying the provided map.
-
-
-
Method Detail
-
setAttributes
void setAttributes(@NotNull Node node, @NotNull AttributablePart part, @NotNull MutableAttributes attributes)
Set the attributes for the node by modifying the provided map.This allows to change or even removeIndex default attributes. With great power comes great responsibility.
The attribute key and values will be escaped (preserving character entities), so don't escape them here, otherwise they will be double-escaped.
Also used to get the id attribute for the node. Specifically for heading nodes. When the part parameter is AttributablePart.ID only need to check and provide an id attribute.
When part is AttributablePart.LINK then attributes are being requested for a Link or Image link, link status after link resolution will be found under the Attribute.LINK_STATUS. Core defines LinkStatus.UNKNOWN,LinkStatus.VALID,LinkStatus.NOT_FOUND. Extensions can define more.
AttributablePart.NODE is a generic placeholder when the node did not provide a specific part for attribution.
- Parameters:
node
- the node to set attributes forpart
- attributes for the specific part of the node being generated, Core defines AttributablePart.LINK, AttributablePart.ID and generic AttributablePart.NODE, extensions are free to define moreattributes
- the attributes, with any default attributes already set in the map
-
-