Class AttributesAttributeProvider

    • Constructor Detail

      • AttributesAttributeProvider

        public AttributesAttributeProvider​(LinkResolverContext context)
    • Method Detail

      • setAttributes

        public void setAttributes​(@NotNull
                                  Node node,
                                  @NotNull
                                  AttributablePart part,
                                  @NotNull
                                  MutableAttributes attributes)
        Description copied from interface: AttributeProvider
        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.

        Specified by:
        setAttributes in interface AttributeProvider
        Parameters:
        node - the node to set attributes for
        part - 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 more
        attributes - the attributes, with any default attributes already set in the map