Package com.bazaarvoice.jless.ast.node

Examples of com.bazaarvoice.jless.ast.node.InternalNode


@Test
public class NodeTest {

    public void testChildIterators() {
        InternalNode p = new PlaceholderNode();
        p.addChild(new SimpleNode("c1"));
        p.addChild(new SimpleNode("c2"));
        p.addChild(new SimpleNode("c3"));
        p.addChild(new SimpleNode("c4"));

        RandomAccessListIterator i1 = p.pushChildIterator();
        i1.next();
        RandomAccessListIterator i2 = p.pushChildIterator();
        i2.next();
        i2.next();
        RandomAccessListIterator i3 = p.pushChildIterator();
        i3.next();
        i3.next();
        i3.next();

        Assert.assertEquals(i1.nextIndex(), 1);
        Assert.assertEquals(i2.nextIndex(), 2);
        Assert.assertEquals(i3.nextIndex(), 3);
       
        p.addChild(2, new SimpleNode("c2a"));

        Assert.assertEquals(i1.nextIndex(), 1);
        Assert.assertEquals(i2.nextIndex(), 3);
        Assert.assertEquals(i3.nextIndex(), 4);
    }
View Full Code Here


public final class NodeTreeUtils {

    private NodeTreeUtils() {}

    public static boolean parentHasNext(Node node) {
        InternalNode parent = node.getParent();
        return parent != null && parent.isIterating() && parent.getLatestChildIterator().hasNext();
    }
View Full Code Here

        InternalNode parent = node.getParent();
        return parent != null && parent.isIterating() && parent.getLatestChildIterator().hasNext();
    }

    public static boolean parentHasAnyFollowing(Node node, Class targetClass) {
        InternalNode parent = node.getParent();

        if (!parent.isIterating()) {
            return false;
        }

        boolean found = false;

        RandomAccessListIterator<Node> it = parent.pushChildIterator(true);

        // Search ahead for an instance of the target class
        while (it.hasNext()) {
            if (targetClass.isInstance(it.next())) {
                found = true;
View Full Code Here

TOP

Related Classes of com.bazaarvoice.jless.ast.node.InternalNode

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.