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}