@Override protected void onCharacters(int location, String characters) { if (depth == 0) { event(new TextInserted<N, E, T>(location, characters)); } }
@Override protected void onModifyAttributes(E element, AttributesUpdate update) { event(new AttributesModified<N, E, T>(element, update)); }
@Override protected void onModifyAttributes(E element, Attributes oldAttributes, Attributes newAttributes) { event(new AttributesModified<N, E, T>(element, oldAttributes, newAttributes)); }
@Override protected void onDeleteCharacters(int location, String characters) { if (depth == 0) { // TODO(danilatos): Drop the TextDeleted event altogether. event(new TextDeleted<N, E, T>(location, characters)); } if (deletion != null) { deletion.addText(characters); } }
@Override protected void onDeleteElementEnd() { assert deletion != null; deletion.addElementEnd(); depth--; if (depth == 0) { event(deletion.build()); deletion = null; } }
@Override protected void onElementStart(E element) { if (depth == 0) { event(new ContentInserted<N, E, T>(element)); } // Remember the element just inserted, to include in event. inserted(element); depth++; }