X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Futil%2FToHTML.java;h=88e4f57b24de60dc8c2f5a73451593a44a53bed4;hp=4415e3d95b7729141b1ed6fd56ba644fc1c2cdb6;hb=59eead6bf0f2d9a7abeba03f3fdab04625521faf;hpb=373f281f7a7988773f6e469717ce6f972cb07e96 diff --git a/src/edu/berkeley/sbp/util/ToHTML.java b/src/edu/berkeley/sbp/util/ToHTML.java index 4415e3d..88e4f57 100644 --- a/src/edu/berkeley/sbp/util/ToHTML.java +++ b/src/edu/berkeley/sbp/util/ToHTML.java @@ -3,5 +3,77 @@ import java.io.*; import java.util.*; public interface ToHTML { - public void ToHTML(PrintWriter p); + public void toHTML(HTML h); + + public static class HTML { + private final StringBuffer sb; + public HTML(StringBuffer sb) { this.sb = sb; } + + public void appendLiterally(String s) { + sb.append(s); + } + public void append(String s) { + /* FIXME */ + sb.append(s); + } + + public void appendText(String s) { + /* FIXME: escapify this!!! */ + sb.append(s); + } + + public void entity(int entity) { sb.append("&#"+entity+";"); } + public void entity(String entity) { sb.append("&"+entity+";"); } + + public void append(Object o) { + if (o==null) append("null"); + else if (o instanceof ToHTML) ((ToHTML)o).toHTML(this); + else if (o instanceof Object[]) append((Object[])o); + else append(o.toString()); + } + public void append(int i) { sb.append(i); } + public void append(char c) { sb.append(c); } + + public void append(Object[] o) { + for(int i=0; i0) append(' '); + append(o[i]); + } + } + + public void tag(String s) { + sb.append("<"); + append(s); + sb.append("/>"); + } + public void openTag(String s, Object[] attrs) { + sb.append("<"); + append(s); + if (attrs != null) + for(int i=0; i"); + } + public void closeTag(String s) { + sb.append("<"); + append(s); + sb.append(">"); + } + public void tag(String s, Object o) { tag(s, null, o); } + public void tag(String s, Object[] attrs, Object o) { + if (s != null) openTag(s, attrs); + append(o); + if (s != null) { + sb.append(""); + } + } + + } }