Example usage for org.apache.commons.jxpath.ri.model NodePointer setIndex

List of usage examples for org.apache.commons.jxpath.ri.model NodePointer setIndex

Introduction

In this page you can find the example usage for org.apache.commons.jxpath.ri.model NodePointer setIndex.

Prototype

public void setIndex(int index) 

Source Link

Document

Set the index of this NodePointer.

Usage

From source file:org.eclipse.e4.emf.internal.xpath.CollectionNodeIterator.java

/**
 * Prepare...//from   w  w  w  .  ja  v  a2  s.  c  om
 */
private void prepare() {
    collection = new ArrayList<>();
    NodePointer ptr = (NodePointer) pointer.clone();
    int length = ptr.getLength();
    for (int i = 0; i < length; i++) {
        ptr.setIndex(i);
        NodePointer elementPointer = ptr.getValuePointer();
        NodeIterator iter = getElementNodeIterator(elementPointer);

        for (int j = 1; iter.setPosition(j); j++) {
            NodePointer childPointer = iter.getNodePointer();
            if (reverse) {
                collection.add(0, childPointer);
            } else {
                collection.add(childPointer);
            }
        }
    }
    if (startWith != null) {
        int index = collection.indexOf(startWith);
        if (index == -1) {
            throw new JXPathException("Invalid starting pointer for iterator: " + startWith);
        }
        while (collection.size() > index) {
            if (!reverse) {
                collection.remove(collection.size() - 1);
            } else {
                collection.remove(0);
            }
        }
    }
}

From source file:org.eclipse.e4.emf.internal.xpath.CollectionPointer.java

@Override
public NodePointer createChild(JXPathContext context, QName name, int index, Object value) {
    NodePointer ptr = (NodePointer) clone();
    ptr.setIndex(index);
    return ptr.createPath(context, value);
}

From source file:org.eclipse.e4.emf.internal.xpath.CollectionPointer.java

@Override
public NodePointer createChild(JXPathContext context, QName name, int index) {
    NodePointer ptr = (NodePointer) clone();
    ptr.setIndex(index);
    return ptr.createPath(context);
}