package no.java.incogito.domain;
import fj.F;
import no.java.ems.wiki.DefaultHtmlWikiSink;
import no.java.ems.wiki.DefaultWikiEngine;
import java.io.IOException;
/**
* @author <a href="mailto:trygvis@java.no">Trygve Laugstøl</a>
* @version $Id$
*/
public class WikiString {
public final String wikiText;
public WikiString(String wikiText) {
this.wikiText = wikiText;
}
public static final F<String, WikiString> constructor = new F<String, WikiString>() {
public WikiString f(String wikiText) {
return new WikiString(wikiText);
}
};
public String toHtml() {
try {
DefaultWikiEngine<DefaultHtmlWikiSink> wikiEngine =
new DefaultWikiEngine<DefaultHtmlWikiSink>(new DefaultHtmlWikiSink());
wikiEngine.transform(wikiText);
return wikiEngine.getSink().toString();
} catch (IOException e) {
throw new RuntimeException("Unable to convert wiki text.", e);
}
}
// -----------------------------------------------------------------------
// First-Order Functions
// -----------------------------------------------------------------------
public static final F<WikiString, String> toHtml = new F<WikiString, String>() {
public String f(WikiString wikiString) {
return wikiString.toHtml();
}
};
}