private boolean consumeEndElement(CodeReader code, HtmlCodeBuilder codeBuilder, String endElement) { if (Arrays.equals(code.peek(endElement.length()), endElement.toCharArray())) { codeBuilder.appendWithoutTransforming(tagBeforeElement); // Consume end element for (int i = 0; i < endElement.length(); i++) { code.pop(codeBuilder); } codeBuilder.appendWithoutTransforming(tagAfterElement); setElementStarted(codeBuilder, false); return true; } return false; }
private boolean consumeEndElement(CodeReader code, HtmlCodeBuilder codeBuilder, String endElement) { if (Arrays.equals(code.peek(endElement.length()), endElement.toCharArray())) { codeBuilder.appendWithoutTransforming(tagBeforeElement); // Consume end element for (int i = 0; i < endElement.length(); i++) { code.pop(codeBuilder); } codeBuilder.appendWithoutTransforming(tagAfterElement); setElementStarted(codeBuilder, false); return true; } return false; }
@Override public boolean consume(CodeReader code, HtmlCodeBuilder codeBuilder) { if (!isElementStarted(codeBuilder)) { if (code.peek() == '<') { codeBuilder.appendWithoutTransforming(tagBeforeElement); // Consume element start code.popTo(Pattern.compile("<\\??[:\\w][:\\-\\.\\w]*").matcher(""), codeBuilder); codeBuilder.appendWithoutTransforming(tagAfterElement); setElementStarted(codeBuilder, true); return true; } return false; } else { // Element already started return consumeStartElement(code, codeBuilder); } }
@Override public boolean consume(CodeReader code, HtmlCodeBuilder codeBuilder) { if (!isElementStarted(codeBuilder)) { if (code.peek() == '<') { codeBuilder.appendWithoutTransforming(tagBeforeElement); // Consume element start code.popTo(Pattern.compile("<\\??[:\\w][:\\-\\.\\w]*").matcher(""), codeBuilder); codeBuilder.appendWithoutTransforming(tagAfterElement); setElementStarted(codeBuilder, true); return true; } return false; } else { // Element already started return consumeStartElement(code, codeBuilder); } }