1 package eu.svjatoslav.sixth.core.document.text;
3 import eu.svjatoslav.commons.string.tokenizer.Terminator;
4 import eu.svjatoslav.commons.string.tokenizer.TokenizerMatch;
6 import static eu.svjatoslav.commons.string.tokenizer.Terminator.TerminationStrategy.PRESERVE;
7 import static eu.svjatoslav.sixth.core.document.Helper.TG_HYPERLINK;
9 public class Hyperlink implements FormattedTextElement {
11 public static final Terminator orgTerminator =
12 new Terminator(PRESERVE, "\\[\\[(.+)\\][ \\t]*\\[(.+)\\]\\]", TG_HYPERLINK);
14 public static final Terminator orgTerminator2 =
15 new Terminator(PRESERVE, "\\[\\[(.*)\\]\\]", TG_HYPERLINK);
21 public String toMD() {
22 return "<URL: " + URL + ", LABEL: " + label + ">";
25 public static Hyperlink fromOrg(TokenizerMatch tokenizerMatch) {
26 Hyperlink hyperlink = new Hyperlink();
27 hyperlink.parseOrg(tokenizerMatch);
31 private void parseOrg(TokenizerMatch tokenizerMatch) {
32 String[] regExpGroups = tokenizerMatch.getRegExpGroups();
33 URL = regExpGroups[0];
34 if (tokenizerMatch.terminator == orgTerminator){
35 label = regExpGroups[1];