001package org.apache.wiki.markdown.extensions.jspwikilinks.postprocessor;
002
003import org.apache.wiki.WikiContext;
004import org.apache.wiki.markdown.nodes.JSPWikiLink;
005
006import com.vladsch.flexmark.util.NodeTracker;
007import com.vladsch.flexmark.util.sequence.CharSubSequence;
008
009
010/**
011 * {@link NodePostProcessorState} which further post processes local footnote links.
012 */
013public class LocalFootnoteLinkNodePostProcessorState implements NodePostProcessorState< JSPWikiLink > {
014
015    final WikiContext wikiContext;
016
017    public LocalFootnoteLinkNodePostProcessorState( final WikiContext wikiContext ) {
018        this.wikiContext = wikiContext;
019    }
020
021    /**
022     * {@inheritDoc}
023     *
024     * @see NodePostProcessorState#process(NodeTracker, JSPWikiLink)
025     */
026    @Override
027    public void process( final NodeTracker state, final JSPWikiLink link ) {
028        link.setUrl( CharSubSequence.of( wikiContext.getURL( WikiContext.VIEW, link.getUrl().toString() ) ) );
029    }
030
031}