OSDN Git Service

original
[gb-231r1-is01/Gingerbread_2.3.3_r1_IS01.git] / libcore / dom / src / test / java / org / w3c / domts / DOMTestIncompatibleException.java
1 /*
2  * Copyright (c) 2001-2004 World Wide Web Consortium,
3  * (Massachusetts Institute of Technology, Institut National de
4  * Recherche en Informatique et en Automatique, Keio University). All
5  * Rights Reserved. This program is distributed under the W3C's Software
6  * Intellectual Property License. This program is distributed in the
7  * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
8  * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
9  * PURPOSE.
10  * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
11  */
12
13
14 package org.w3c.domts;
15
16
17 /**
18  * This exception represents a mismatch between the
19  * requirements of the test (for example, entity preserving)
20  * and the capabilities of the parser under test.
21  * @author Curt Arnold
22  */
23 public class DOMTestIncompatibleException
24     extends Exception {
25   private final String msg;
26
27   private DOMTestIncompatibleException(String msg) {
28     this.msg = msg;
29   }
30
31   /**
32    *  Constructor from a ParserConfigurationException
33    *  or reflection exception
34    */
35   public DOMTestIncompatibleException(Throwable ex,
36                                       DocumentBuilderSetting setting) {
37     if (ex != null) {
38       msg = ex.toString();
39     }
40     else {
41       if (setting != null) {
42         msg = setting.toString();
43       }
44       else {
45         msg = super.toString();
46       }
47     }
48   }
49
50   public static DOMTestIncompatibleException incompatibleFeature(String feature,
51       String version) {
52     StringBuffer buf = new StringBuffer(
53         "Implementation does not support feature \"");
54     buf.append(feature);
55     buf.append("\" version=\"");
56     buf.append(version);
57     buf.append("\".");
58     return new DOMTestIncompatibleException(buf.toString());
59   }
60
61   public static DOMTestIncompatibleException incompatibleLoad(String href,
62       String contentType) {
63     StringBuffer buf = new StringBuffer(
64         "Document is incompatible with content type, \"");
65     buf.append(href);
66     buf.append("\" not available for =\"");
67     buf.append(contentType);
68     buf.append("\".");
69     return new DOMTestIncompatibleException(buf.toString());
70   }
71
72   public String toString() {
73     return msg;
74   }
75
76 }