public HtmlBuilder closeHtmlBody() { addHtml("</body></html>"); return this; }
public HtmlBuilder addNbsps(int count) { for (int i = 0; i < count; i++) { addNbsp(); } return this; }
public HtmlBuilder addItalic(String text) { beginItalic(); add(text); endItalic(); return this; }
public HtmlBuilder addUnderlined(String text) { beginUnderline(); add(text); endUnderline(); return this; }
builder.beginPre("errorlines"); builder.beginClassSpan("caretline"); spanBalance++; builder.beginClassSpan("lineno"); String lineString = String.format(Locale.ROOT, " %" + lineWidth + "d ", currentLine++); builder.addHtml(lineString); builder.endSpan(); builder.beginClassSpan(error ? "error" : "warning"); spanBalance++; builder.beginClassSpan(cssStyle); spanBalance++; builder.endSpan(); spanBalance--; builder.endSpan(); spanBalance--; builder.addNbsps(100 - (caretLineEndOffset - caretLineOffset)); builder.endSpan(); spanBalance--; builder.endSpan();
public HtmlBuilder coloredText(@NonNull Color color, @NonNull String text) { beginColor(color); add(text); endColor(); return this; }
public HtmlBuilder addHeading(@NonNull String text, @NonNull String fontColor) { mStringBuilder.append("<font"); appendStyle("font-weight:bold; color:" + fontColor + ";"); mStringBuilder.append(">"); add(text); mStringBuilder.append("</font>"); return this; }
void add(HtmlBuilder builder, int from, int to) { String substring = source.substring(from, to); if (substring.indexOf('\t') != -1) { //noinspection ConstantConditions assert TAB_WIDTH == 4; // if not change constant below substring = substring.replace("\t", " "); } builder.add(substring); }
public HtmlBuilder beginDiv(@Nullable String cssStyle) { mStringBuilder.append("<div"); appendStyle(cssStyle); mStringBuilder.append('>'); return this; }
public HtmlBuilder addTableRow(String... columns) { return addTableRow(false, columns); }
private void startReport(@NonNull Stats stats) { sb = new StringBuilder(1800 * stats.count()); builder = new HtmlBuilder(sb); writeOpenHtmlTag(); writeHeadTag(); writeOpenBodyTag(); }
public HtmlBuilder beginSpan(@Nullable String cssStyle) { mStringBuilder.append("<span"); appendStyle(cssStyle); mStringBuilder.append('>'); return this; }
public HtmlBuilder openHtmlBody() { addHtml("<html><body>"); return this; }