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

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

Introduction

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

Prototype

public String asPath() 

Source Link

Document

Returns an XPath that maps to this Pointer.

Usage

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

@Override
public String asPath() {
    StringBuffer buffer = new StringBuffer();
    NodePointer parent = getImmediateParentPointer();
    if (parent != null) {
        buffer.append(parent.asPath());
        if (index != WHOLE_COLLECTION) {
            // Address the list[1][2] case
            if (parent.getIndex() != WHOLE_COLLECTION) {
                buffer.append("/.");
            }/*from  w w  w  .  j a  v a  2  s.  c  o m*/
            buffer.append("[").append(index + 1).append(']');
        }
    } else {
        if (index != WHOLE_COLLECTION) {
            buffer.append("/.[").append(index + 1).append(']');
        } else {
            buffer.append("/");
        }
    }
    return buffer.toString();
}

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

@Override
public String asPath() {
    StringBuffer buffer = new StringBuffer();
    NodePointer parent = getImmediateParentPointer();
    if (parent != null) {
        buffer.append(parent.asPath());
    }//from  w w w.  jav  a 2  s .  c o m
    if (index != WHOLE_COLLECTION) {
        // Address the list[1][2] case
        if (parent != null && parent.getIndex() != WHOLE_COLLECTION) {
            buffer.append("/.");
        } else if (parent != null && parent.getImmediateParentPointer() != null
                && parent.getImmediateParentPointer().getIndex() != WHOLE_COLLECTION) {
            buffer.append("/.");
        }
        buffer.append("[").append(index + 1).append(']');
    }

    return buffer.toString();
}