package de.srsoftware.web4rail; import java.util.Vector; import de.srsoftware.tools.Tag; /** * * helper class to create html pages * @author Stephan Richter, SRSoftware * */ public class Page { private StringBuffer buf; private Vector cssFiles = new Vector(); private Vector jsFiles = new Vector(); public Page() { buf = new StringBuffer(); } public Page append(Object code) { buf.append(code); return this; } private StringBuffer body(StringBuffer content) { return new StringBuffer() .append("\t\n") .append(content) .append("\t\n") .append("\n"); } private StringBuffer head() { StringBuffer sb = new StringBuffer() .append("\n") .append("\t\n"); sb.append("\t\t"+new Tag("meta").attr("charset", "UTF-8")+"\n"); for (String cssFile : cssFiles) { sb.append("\t\t"+new Tag("link").attr("rel", "stylesheet").attr("type", "text/css").attr("href", cssFile)+"\n"); } for (String jsFile : jsFiles) { sb.append("\t\t"+new Tag("script").attr("type", "text/javascript").attr("src", jsFile).content("")+"\n"); } return sb.append("\t\n"); } public StringBuffer html() { return head().append(body(buf)); } public Page js(String jsPath) { jsFiles.add(jsPath); return this; } public Page style(String cssPath) { cssFiles.add(cssPath); return this; } @Override public String toString() { return head().append(body(buf)).toString(); } }