package org.kalipo.service.util; import org.kalipo.domain.Comment; import org.pegdown.LinkRenderer; import org.pegdown.ast.AutoLinkNode; import org.pegdown.ast.ExpLinkNode; import org.pegdown.ast.RefLinkNode; import org.pegdown.ast.WikiLinkNode; import java.util.HashSet; import java.util.Set; /** * Created by damoeb on 16.03.15. * @deprecated is used for markdown */ @Deprecated public class UrlBoxingLinkRenderer extends LinkRenderer { private final String prefix; private final Set<Comment.Link> links = new HashSet<>(); public UrlBoxingLinkRenderer(String prefix) { super(); this.prefix = prefix; } private Rendering box(Rendering r) { Rendering patched = new Rendering(prefix + r.href, r.text); for(Attribute attr : r.attributes) { r.withAttribute(attr); } links.add(new Comment.Link(r.href)); return patched; } public Set<Comment.Link> getLinks() { return links; } @Override public Rendering render(AutoLinkNode node) { return box(super.render(node)); } @Override public Rendering render(ExpLinkNode node, String text) { return box(super.render(node, text)); } @Override public Rendering render(RefLinkNode node, String url, String title, String text) { return box(super.render(node, url, title, text)); } @Override public Rendering render(WikiLinkNode node) { return box(super.render(node)); } }