1 package edu.berkeley.sbp.util;
5 public interface ToHTML {
6 public void toHTML(HTML h);
8 public static class HTML {
9 private final StringBuffer sb;
10 public HTML(StringBuffer sb) { this.sb = sb; }
12 public void appendLiterally(String s) {
15 public void append(String s) {
20 public void appendText(String s) {
21 /* FIXME: escapify this!!! */
25 public void entity(int entity) { sb.append("&#"+entity+";"); }
26 public void entity(String entity) { sb.append("&"+entity+";"); }
28 public void append(Object o) {
29 if (o==null) append("<tt><font color=red>null</font></tt>");
30 else if (o instanceof ToHTML) ((ToHTML)o).toHTML(this);
31 else if (o instanceof Object[]) append((Object[])o);
32 else append(o.toString());
34 public void append(int i) { sb.append(i); }
35 public void append(char c) { sb.append(c); }
37 public void append(Object[] o) {
38 for(int i=0; i<o.length; i++) {
44 public void tag(String s) {
49 public void openTag(String s, Object[] attrs) {
53 for(int i=0; i<attrs.length; i+=2) {
62 public void closeTag(String s) {
67 public void tag(String s, Object o) { tag(s, null, o); }
68 public void tag(String s, Object[] attrs, Object o) {
69 if (s != null) openTag(s, attrs);