package org.genedb.web.tags.misc; import java.io.IOException; import javax.servlet.jsp.JspException; import javax.servlet.jsp.JspWriter; import javax.servlet.jsp.tagext.SimpleTagSupport; public class FormatSequenceTag extends SimpleTagSupport { private String sequence; public void setSequence(String sequence) { this.sequence = sequence.toUpperCase(); } private boolean includeSpaces = true; public void setIncludeSpaces(boolean includeSpaces) { this.includeSpaces = includeSpaces; } @Override public void doTag() throws JspException, IOException { JspWriter out = getJspContext().getOut(); for (int i = 0; i < sequence.length(); i += 60) { out.print("<div class=\"sequence\">"); int endOfRow = i + 60; if (endOfRow > sequence.length()) { endOfRow = sequence.length(); } for (int j = i; j < endOfRow; j += 10) { int endOfBlock = j + 10; if (endOfBlock > endOfRow) { endOfBlock = endOfRow; } String block = sequence.substring(j, endOfBlock); out.print(block); if (includeSpaces) { out.print(" "); } } out.print("</div>"); } } }