public String translateTree(Symbol syntaxTree) { StringBuilder result = new StringBuilder(); for (Symbol symbol : syntaxTree.getChildren()) { result.append(translate(symbol)); } return result.toString(); }
@Override public String toTarget(Translator translator, Symbol symbol) { String user = translator.getPage().getProperty(WikiPageProperty.LAST_MODIFYING_USER); String date = translator.getPage().getProperty(WikiPageProperty.LAST_MODIFIED); return translator.formatMessage( "Last modified " + (!user.isEmpty() ? "by " + user : "anonymously") + " on " + formatDate(date)); }
public String translate(Symbol symbol) { if (getTranslation(symbol.getType()) != null) { return getTranslation(symbol.getType()).toTarget(this, symbol); } else { StringBuilder result = new StringBuilder(symbol.getContent()); for (Symbol child: symbol.getChildren()) { result.append(translate(child)); } return result.toString(); } }
@Override public String toTarget(Translator translator, Symbol symbol) { String body = translator.translate(symbol.childAt(0)); Maybe<String> formatLocale = Maybe.noString; if(translator instanceof HtmlTranslator){ formatLocale = ((HtmlTranslator) translator).getParsingPage().findVariable("FORMAT_LOCALE"); } Maybe<String> result = new FormattedExpression(body, formatLocale).evaluate(); if (result.isNothing()) return translator.formatMessage(result.because()); return result.getValue(); } }
@Override public String toTarget(Translator translator, Symbol symbol) { if (symbol.childAt(0).childAt(0).isType(WikiWord.symbolType)) return translator.translate(symbol.childAt(0)); String linkBody = translator.translate(symbol.childAt(0)); String linkReferenceString = HtmlUtil.unescapeHTML(translator.translate(symbol.childAt(1))); ParsingPage parsingPage = ((HtmlTranslator)translator).getParsingPage(); Symbol linkReference = Parser.make(parsingPage, linkReferenceString).parseToIgnoreFirst(Comment.symbolType); if (linkReference.childAt(0).isType(WikiWord.symbolType) || (linkReference.getChildren().size() == 1 && PathParser.isWikiPath(linkReference.childAt(0).getContent()))) { return new WikiWordBuilder(translator.getPage(), linkReference.childAt(0).getContent(), linkBody) .buildLink(translator.translate(linkReference.childrenAfter(0)), linkBody); } HtmlTag alias = new HtmlTag("a", linkBody); if (linkReference.childAt(0).isType(Link.symbolType)) { alias.addAttribute("href", linkReferenceString.startsWith("http://files/") ? linkReferenceString.substring(7) : linkReferenceString); } else { alias.addAttribute("href", translator.translate(linkReference)); } return alias.htmlInline(); } }
@Override public String toTarget(Translator translator, Symbol symbol) { String helpText = translator.getPage().getProperty(WikiPageProperty.HELP); String editText = helpText.isEmpty() ? "edit help text" : "edit"; if (symbol.hasProperty(editableOption)) { helpText += " <a href=\"" + translator.getPage().getFullPath() + "?properties\">(" + editText + ")</a>"; } return helpText; } }
@Override public String toTarget(Translator translator, Symbol symbol) { return translator.translateTree(symbol) ; } }
@Override public String toTarget(Translator translator, Symbol symbol) { String body = translator.translate(symbol.childAt(0)); Maybe<String> formatLocale = Maybe.noString; if(translator instanceof HtmlTranslator){ formatLocale = ((HtmlTranslator) translator).getParsingPage().findVariable("FORMAT_LOCALE"); } Maybe<String> result = new FormattedExpression(body, formatLocale).evaluate(); if (result.isNothing()) return translator.formatMessage(result.because()); return result.getValue(); } }
@Override public String toTarget(Translator translator, Symbol symbol) { if (symbol.childAt(0).childAt(0).isType(WikiWord.symbolType)) return translator.translate(symbol.childAt(0)); String linkBody = translator.translate(symbol.childAt(0)); String linkReferenceString = HtmlUtil.unescapeHTML(translator.translate(symbol.childAt(1))); ParsingPage parsingPage = ((HtmlTranslator)translator).getParsingPage(); Symbol linkReference = Parser.make(parsingPage, linkReferenceString).parseToIgnoreFirst(Comment.symbolType); if (linkReference.childAt(0).isType(WikiWord.symbolType) || (linkReference.getChildren().size() == 1 && PathParser.isWikiPath(linkReference.childAt(0).getContent()))) { return new WikiWordBuilder(translator.getPage(), linkReference.childAt(0).getContent(), linkBody) .buildLink(translator.translate(linkReference.childrenAfter(0)), linkBody); } HtmlTag alias = new HtmlTag("a", linkBody); if (linkReference.childAt(0).isType(Link.symbolType)) { alias.addAttribute("href", linkReferenceString.startsWith("http://files/") ? linkReferenceString.substring(7) : linkReferenceString); } else { alias.addAttribute("href", translator.translate(linkReference)); } return alias.htmlInline(); } }
@Override public String toTarget(Translator translator, Symbol symbol) { String helpText = translator.getPage().getProperty(WikiPageProperty.HELP); String editText = helpText.isEmpty() ? "edit help text" : "edit"; if (symbol.hasProperty(editableOption)) { helpText += " <a href=\"" + translator.getPage().getFullPath() + "?properties\">(" + editText + ")</a>"; } return helpText; } }
@Override public String toTarget(Translator translator, Symbol symbol) { return translator.translateTree(symbol) ; } }
@Override public void build(Translator translator, Symbol symbol, StringBuilder wikiString) { int count = 0; for (Symbol child: symbol.getChildren()) { if (count > 0) wikiString.append(separator); wikiString.append(translator.translate(child)); count++; } } });
public String translate(Symbol symbol) { if (getTranslation(symbol.getType()) != null) { return getTranslation(symbol.getType()).toTarget(this, symbol); } else { StringBuilder result = new StringBuilder(symbol.getContent()); for (Symbol child: symbol.getChildren()) { result.append(translate(child)); } return result.toString(); } }
@Override public String toTarget(Translator translator, Symbol symbol) { String user = translator.getPage().getProperty(WikiPageProperty.LAST_MODIFYING_USER); String date = translator.getPage().getProperty(WikiPageProperty.LAST_MODIFIED); return translator.formatMessage( "Last modified " + (!user.isEmpty() ? "by " + user : "anonymously") + " on " + formatDate(date)); }
@Override public String toTarget(Translator translator, Symbol symbol) { ContentsItemBuilder itemBuilder = new ContentsItemBuilder(symbol, 1, translator.getPage()); HtmlTag contentsDiv = new HtmlTag("div"); contentsDiv.addAttribute("class", "contents"); contentsDiv.add(HtmlUtil.makeBold("Contents:")); contentsDiv.add(itemBuilder.buildLevel(translator.getPage())); return contentsDiv.html(); } }
@Override public String toTarget(Translator translator, Symbol symbol) { return translator.translate(symbol.childAt(0)); } }
@Override public String toTarget(Translator translator, Symbol symbol) { ContentsItemBuilder itemBuilder = new ContentsItemBuilder(symbol, 1, translator.getPage()); HtmlTag contentsDiv = new HtmlTag("div"); contentsDiv.addAttribute("class", "contents"); contentsDiv.add(HtmlUtil.makeBold("Contents:")); contentsDiv.add(itemBuilder.buildLevel(translator.getPage())); return contentsDiv.html(); } }
public String translateTree(Symbol syntaxTree) { StringBuilder result = new StringBuilder(); for (Symbol symbol : syntaxTree.getChildren()) { result.append(translate(symbol)); } return result.toString(); }
@Override public Collection<String> providePaths(Translator translator, Symbol symbol) { return Arrays.asList(translator.translate(symbol.childAt(0))); }
@Override public String toTarget(Translator translator, Symbol symbol) { return translator.translate(symbol.childAt(1)); } }