Example usage for org.jsoup.nodes Node traverse

List of usage examples for org.jsoup.nodes Node traverse

Introduction

In this page you can find the example usage for org.jsoup.nodes Node traverse.

Prototype

public Node traverse(NodeVisitor nodeVisitor) 

Source Link

Document

Perform a depth-first traversal through this node and its descendants.

Usage

From source file:com.screenslicer.core.util.Util.java

public static void clean(Node node) {
    node.traverse(new NodeVisitor() {
        @Override/*  w w  w.j  a  v a 2  s.  c  om*/
        public void tail(Node node, int depth) {
        }

        @Override
        public void head(Node node, int depth) {
            String classAttr = node.attr("class");
            classAttr = cleanClass(classAttr);
            if (CommonUtil.isEmpty(classAttr)) {
                node.removeAttr("class");
            } else {
                node.attr("class", classAttr);
            }
        }
    });
}

From source file:com.screenslicer.core.util.Util.java

public static boolean overlaps(List<Node> nodes, List<Node> targets) {
    final Collection<Node> all = new HashSet<Node>();
    for (Node target : targets) {
        target.traverse(new NodeVisitor() {
            @Override//from  www .  ja  v  a  2  s. c o m
            public void tail(Node n, int d) {
            }

            @Override
            public void head(Node n, int d) {
                all.add(n);
            }
        });
    }
    final boolean overlaps[] = new boolean[1];
    for (Node node : nodes) {
        node.traverse(new NodeVisitor() {
            @Override
            public void tail(Node n, int d) {
            }

            @Override
            public void head(Node n, int d) {
                if (!overlaps[0]) {
                    if (all.contains(n)) {
                        overlaps[0] = true;
                    }
                }
            }
        });
        if (overlaps[0]) {
            return true;
        }
    }
    return false;
}

From source file:de.tudarmstadt.ukp.dkpro.c4corpus.boilerplate.impl.JusTextBoilerplateRemoval.java

/**
 * Initialize the Paragraph explorer class in order to convert a document to
 * a list of blocks (paragraphs)/*from  w w  w.  j  a v a 2  s .  c  o m*/
 */
private LinkedList<Paragraph> makeParagraphs(Node node) {
    ParagraphsExplorer pe = new ParagraphsExplorer();
    node.traverse(pe); //begin the traversal of the doc
    return pe.getParagraphs();
}

From source file:com.screenslicer.core.util.Util.java

private static void markFiltered(Node node, final boolean lenient) {
    if (lenient) {
        if (!isFilteredLenient(node)) {
            node.attr("class", node.attr("class") + " " + FILTERED_LENIENT_MARKER + " ");
        }/*from www .  j a  va  2s .  com*/
    } else {
        node.traverse(new NodeVisitor() {
            @Override
            public void tail(Node n, int d) {
            }

            @Override
            public void head(Node n, int d) {
                if (!isFiltered(n)) {
                    n.attr("class", n.attr("class") + " " + FILTERED_MARKER + " ");
                }
            }
        });
    }
}

From source file:com.screenslicer.core.util.Util.java

public static Node fromCopy(final Node node, final Node parentCopy) {
    final String classId = classId(node);
    if (CommonUtil.isEmpty(classId)) {
        return null;
    }// w  w w. j a va2 s  . co m
    class MyVisitor implements NodeVisitor {
        Node found = null;

        @Override
        public void tail(Node n, int d) {
        }

        @Override
        public void head(Node n, int d) {
            if (classId.equals(classId(n))) {
                found = n;
            }
        }
    }
    MyVisitor visitor = new MyVisitor();
    parentCopy.traverse(visitor);
    return visitor.found;
}