1 19 20 26 package org.netbeans.modules.xml.xpath.impl; 27 28 import org.netbeans.modules.xml.xpath.LocationStep; 29 import org.netbeans.modules.xml.xpath.XPathExpression; 30 import org.netbeans.modules.xml.xpath.XPathExpressionPath; 31 import org.netbeans.modules.xml.xpath.visitor.XPathVisitor; 32 import org.netbeans.modules.xml.xpath.visitor.impl.ExpressionWriter; 33 34 35 41 public class XPathExpressionPathImpl extends XPathExpressionImpl 42 implements XPathExpressionPath { 43 44 45 private LocationStep[] mSteps; 46 47 48 private XPathExpression mRootExpression; 49 50 51 private boolean mAbsolute; 52 53 56 private boolean mIsSimplePath; 57 58 59 64 public XPathExpressionPathImpl(XPathExpression rootExpression, 65 LocationStep[] steps, 66 boolean isSimplePath) { 67 super(); 68 setSteps(steps); 69 setRootExpression(rootExpression); 70 setSimplePath(isSimplePath); 71 } 72 73 77 public LocationStep[] getSteps() { 78 return mSteps; 79 } 80 81 82 86 public void setSteps(LocationStep[] steps) { 87 mSteps = steps; 88 } 89 90 94 public void setRootExpression(XPathExpression rootExpression) { 95 this.mRootExpression = rootExpression; 96 } 97 98 103 public XPathExpression getRootExpression() { 104 return this.mRootExpression; 105 } 106 107 112 public boolean isSimplePath() { 113 return mIsSimplePath; 114 } 115 116 121 public void setSimplePath(boolean isSimplePath) { 122 mIsSimplePath = isSimplePath; 123 } 124 125 129 public String getExpressionStringExcludingRootExpression() { 130 XPathVisitor visitor = new ExpressionWriter(); 131 LocationStep[] steps = getSteps(); 132 if(steps != null) { 133 for(int i = 0; i < steps.length; i++) { 134 visitor.visit(steps[i]); 135 } 136 } 137 138 return ((ExpressionWriter) visitor).getString(); 139 } 140 141 145 public void accept(XPathVisitor visitor) { 146 visitor.visit(this); 147 148 } 149 } 150 | Popular Tags |