public void setParser(MarkupParser parser) { if (parser != null && parser.getMarkupLanguage() != markupLanguage) { if (markupLanguage == null) { markupLanguage = parser.getMarkupLanguage(); } else { throw new IllegalStateException(); } } this.parser = parser; this.builder = (parser == null) ? null : parser.getBuilder(); }
parser.getBuilder().characters(text); return; parser.getBuilder().characters(offset > 0 ? text.substring(offset) : text); break;
String line = null; DocumentBuilder builder = parser.getBuilder();
@Override public void processContent(MarkupParser parser, String markupContent, boolean asDocument) { if (preprocessFootnotes) { boolean previousBlocksOnly = isBlocksOnly(); boolean previousFilterGenerativeContents = isFilterGenerativeContents(); setBlocksOnly(true); setFilterGenerativeContents(true); DocumentBuilder builder = parser.getBuilder(); parser.setBuilder(new NoOpDocumentBuilder()); currentState = new TextileContentState(); TextileContentState preprocessingState = currentState; super.processContent(parser, markupContent, asDocument); setBlocksOnly(previousBlocksOnly); setFilterGenerativeContents(previousFilterGenerativeContents); currentState = new TextileContentState(); currentState.setFootnoteNumbers(preprocessingState.getFootnoteNumbers()); parser.setBuilder(builder); super.processContent(parser, markupContent, asDocument); currentState = null; } else { currentState = null; super.processContent(parser, markupContent, asDocument); } } }