001package org.apache.wiki.markdown.extensions.jspwikilinks.postprocessor; 002 003import com.vladsch.flexmark.util.ast.Node; 004import com.vladsch.flexmark.util.ast.NodeTracker; 005import com.vladsch.flexmark.util.sequence.CharSubSequence; 006import org.apache.wiki.WikiContext; 007import org.apache.wiki.markdown.nodes.JSPWikiLink; 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, Node) 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}