1 61 62 63 package org.jaxen; 64 65 73 public class XPathSyntaxException extends JaxenException 74 { 75 76 private String xpath; 77 78 79 private int position; 80 81 87 public XPathSyntaxException(org.jaxen.saxpath.XPathSyntaxException e) 88 { 89 super( e ); 90 91 this.xpath = e.getXPath(); 92 this.position = e.getPosition(); 93 } 94 95 101 public XPathSyntaxException(String xpath, 102 int position, 103 String message) 104 { 105 super( message ); 106 107 this.xpath = xpath; 108 this.position = position; 109 } 110 111 115 public int getPosition() 116 { 117 return this.position; 118 } 119 120 124 public String getXPath() 125 { 126 return this.xpath; 127 } 128 129 141 public String getPositionMarker() 142 { 143 StringBuffer buf = new StringBuffer (); 144 145 int pos = getPosition(); 146 147 for ( int i = 0 ; i < pos ; ++i ) 148 { 149 buf.append(" "); 150 } 151 152 buf.append("^"); 153 154 return buf.toString(); 155 156 } 157 158 169 public String getMultilineMessage() 170 { 171 StringBuffer buf = new StringBuffer (getMessage()); 172 buf.append( "\n" ); 173 buf.append( getXPath() ); 174 buf.append( "\n" ); 175 176 buf.append( getPositionMarker() ); 177 178 return buf.toString(); 179 } 180 } 181 | Popular Tags |