/** * Traverses the DOM and applies the filters for each visited node. * * @param walker * @param indent * @param sb * Optional {@link StringBuilder} used to track progress for logging purposes. */ public void traverseAndFilter(final TreeWalker walker, final String indent, final Metadata metadata, final StringBuilder sb) { final Node parend = walker.getCurrentNode(); final boolean isLogged = appendText(indent, (Element) parend, sb); for (final Filter filter : filterList) { if (filter.filter(metadata, walker)) { appendText(" catched by: " + filter.getClass().getSimpleName(), sb); break; } } if (isLogged) { appendText("\n", sb); } for (Node n = walker.firstChild(); n != null; n = walker.nextSibling()) { traverseAndFilter(walker, indent + " ", metadata, sb); } walker.setCurrentNode(parend); }
/** * Traverses the DOM and applies the filters for each visited node. * * @param walker * @param indent * @param sb * Optional {@link StringBuilder} used to track progress for logging purposes. */ public void traverseAndFilter(final TreeWalker walker, final String indent, final Metadata metadata, final StringBuilder sb) { final Node parend = walker.getCurrentNode(); final boolean isLogged = appendText(indent, (Element) parend, sb); for (final Filter filter : filterList) { if (filter.filter(metadata, walker)) { appendText(" catched by: " + filter.getClass().getSimpleName(), sb); break; } } if (isLogged) { appendText("\n", sb); } for (Node n = walker.firstChild(); n != null; n = walker.nextSibling()) { traverseAndFilter(walker, indent + " ", metadata, sb); } walker.setCurrentNode(parend); }