1 7 8 package javax.naming; 9 10 41 42 43 public class NamingException extends Exception { 44 54 protected Name resolvedName; 55 65 protected Object resolvedObj; 66 78 protected Name remainingName; 79 80 98 protected Throwable rootException = null; 99 100 108 public NamingException(String explanation) { 109 super(explanation); 110 resolvedName = remainingName = null; 111 resolvedObj = null; 112 } 113 114 118 public NamingException() { 119 super(); 120 resolvedName = remainingName = null; 121 resolvedObj = null; 122 } 123 124 134 public Name getResolvedName() { 135 return resolvedName; 136 } 137 138 147 public Name getRemainingName() { 148 return remainingName; 149 } 150 151 160 public Object getResolvedObj() { 161 return resolvedObj; 162 } 163 164 173 public String getExplanation() { 174 return getMessage(); 175 } 176 177 194 public void setResolvedName(Name name) { 195 if (name != null) 196 resolvedName = (Name )(name.clone()); 197 else 198 resolvedName = null; 199 } 200 201 219 public void setRemainingName(Name name) { 220 if (name != null) 221 remainingName = (Name )(name.clone()); 222 else 223 remainingName = null; 224 } 225 226 232 public void setResolvedObj(Object obj) { 233 resolvedObj = obj; 234 } 235 236 244 public void appendRemainingComponent(String name) { 245 if (name != null) { 246 try { 247 if (remainingName == null) { 248 remainingName = new CompositeName (); 249 } 250 remainingName.add(name); 251 } catch (NamingException e) { 252 throw new IllegalArgumentException (e.toString()); 253 } 254 } 255 } 256 257 273 public void appendRemainingName(Name name) { 274 if (name == null) { 275 return; 276 } 277 if (remainingName != null) { 278 try { 279 remainingName.addAll(name); 280 } catch (NamingException e) { 281 throw new IllegalArgumentException (e.toString()); 282 } 283 } else { 284 remainingName = (Name )(name.clone()); 285 } 286 } 287 288 306 public Throwable getRootCause() { 307 return rootException; 308 } 309 310 325 public void setRootCause(Throwable e) { 326 if (e != this) { 327 rootException = e; 328 } 329 } 330 331 342 public Throwable getCause() { 343 return getRootCause(); 344 } 345 346 364 public Throwable initCause(Throwable cause) { 365 super.initCause(cause); 366 setRootCause(cause); 367 return this; 368 } 369 370 382 public String toString() { 383 String answer = super.toString(); 384 385 if (rootException != null) { 386 answer += " [Root exception is " + rootException + "]"; 387 } 388 if (remainingName != null) { 389 answer += "; remaining name '" + remainingName + "'"; 390 } 391 return answer; 392 } 393 394 406 public String toString(boolean detail) { 407 if (!detail || resolvedObj == null) { 408 return toString(); 409 } else { 410 return (toString() + "; resolved object " + resolvedObj); 411 } 412 } 413 414 417 private static final long serialVersionUID = -1299181962103167177L; 418 }; 419 | Popular Tags |