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