
org.nakedobjects.plugins.htmlviewer.html.AbstractHtmlPage Maven / Gradle / Ivy
The newest version!
package org.nakedobjects.plugins.htmlviewer.html;
import java.io.PrintWriter;
import java.util.StringTokenizer;
import org.nakedobjects.plugins.htmlviewer.component.Block;
import org.nakedobjects.plugins.htmlviewer.component.Component;
import org.nakedobjects.plugins.htmlviewer.component.Page;
public abstract class AbstractHtmlPage implements Component, Page {
private final StringBuffer debug = new StringBuffer();
private final Block pageHeader = new Div(null, "page-header");
private final String siteFooter;
private final String siteHeader;
private final String styleSheet;
private String title = "Naked Objects";
public AbstractHtmlPage(final String styleSheet, final String header, final String footer) {
this.styleSheet = styleSheet == null ? "default.css" : styleSheet;
this.siteHeader = header;
this.siteFooter = footer;
}
public void addDebug(final String html) {
debug.append("");
debug.append(html);
debug.append("");
}
public void addDebug(final String name, final String value) {
debug.append("");
debug.append("");
debug.append(name);
debug.append(": ");
debug.append(value);
debug.append("");
}
public Block getPageHeader() {
return pageHeader;
}
public void setTitle(final String title) {
this.title = title;
}
public void write(final PrintWriter writer) {
writer
.println("");
writer.println("");
writer.println(" ");
writer.print(" ");
writer.print(title);
writer.println(" ");
writer.println(" ");
final StringTokenizer st = new StringTokenizer(styleSheet, ",");
int i = 0;
while (st.hasMoreTokens()) {
final String style = st.nextToken().trim();
writer.print(" 0) {
writer.print("alternate ");
}
writer.print("stylesheet\" title=\"Style " + i + "\" href=\"./");
writer.print(style);
writer.println("\" type=\"text/css\" media=\"all\"/>");
}
writer.println(" ");
writer.println(" ");
if (siteHeader != null) {
writer.println(" ");
writer.println(siteHeader);
}
writeContent(writer);
if (siteFooter != null) {
writer.println(" ");
writer.println(siteFooter);
}
if (debug.length() > 0) {
writer.println("");
writer.println("Debug
");
writer.println(debug);
writer.println("");
}
writer.println(" ");
writer.println("");
}
protected abstract void writeContent(PrintWriter writer);
}
// Copyright (c) Naked Objects Group Ltd.
© 2015 - 2025 Weber Informatics LLC | Privacy Policy