* roottypes.cs: Rename from tree.cs.
[mono.git] / mcs / class / Mono.Xml.Ext / Mono.Xml.XPath2 / XmlQueryException.cs
1 //\r
2 // System.Xml.Query.XmlQueryException\r
3 //\r
4 // Author:\r
5 //   Tim Coleman (tim@timcoleman.com)\r
6 //\r
7 // Copyright (C) Tim Coleman, 2003\r
8 //\r
9 \r
10 //\r
11 // Permission is hereby granted, free of charge, to any person obtaining\r
12 // a copy of this software and associated documentation files (the\r
13 // "Software"), to deal in the Software without restriction, including\r
14 // without limitation the rights to use, copy, modify, merge, publish,\r
15 // distribute, sublicense, and/or sell copies of the Software, and to\r
16 // permit persons to whom the Software is furnished to do so, subject to\r
17 // the following conditions:\r
18 // \r
19 // The above copyright notice and this permission notice shall be\r
20 // included in all copies or substantial portions of the Software.\r
21 // \r
22 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
23 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
24 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
25 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\r
26 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\r
27 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\r
28 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
29 //\r
30 \r
31 #if NET_2_0\r
32 \r
33 using System;\r
34 using System.Runtime.Serialization;\r
35 \r
36 namespace System.Xml.Query\r
37 {\r
38         [Serializable]\r
39         public class XmlQueryException : SystemException\r
40         {\r
41                 #region Constructors\r
42 \r
43                 [MonoTODO]\r
44                 protected XmlQueryException (SerializationInfo info, StreamingContext context)\r
45                         : base (info, context)\r
46                 {\r
47                         throw new NotImplementedException ();\r
48                 }\r
49 \r
50                 public XmlQueryException ()\r
51                         : base ("An XML Query Exception has occurred.")\r
52                 {\r
53                 }\r
54 \r
55                 public XmlQueryException (string res)\r
56                         : this (res, null, null, null)\r
57                 {\r
58                 }\r
59 \r
60                 public XmlQueryException (string resource, Exception exception)\r
61                         : this (resource, null, null, exception)\r
62                 {\r
63                 }\r
64 \r
65                 internal XmlQueryException (string message, IXmlLineInfo lineInfo, string sourceUri, Exception innerException)\r
66                         : base (BuildMessage (message, lineInfo, sourceUri), innerException)\r
67                 {\r
68                 }\r
69 \r
70                 static string BuildMessage (string message, IXmlLineInfo li, string sourceUri)\r
71                 {\r
72                         if (li != null && li.HasLineInfo ()) {\r
73                                 message = String.Format ("{0}. Location: {1} ({2}, {3}).", message, sourceUri, li.LineNumber, li.LinePosition);\r
74                         }\r
75                         else if (sourceUri != null)\r
76                                 message = String.Format ("{0}. Location: {1}", message, sourceUri);\r
77                         return message;\r
78                 }\r
79 \r
80                 #endregion // Constructors\r
81 \r
82                 #region Properties\r
83 \r
84                 [MonoTODO]\r
85                 public int LineNumber {\r
86                         get { throw new NotImplementedException (); }\r
87                 }\r
88 \r
89                 [MonoTODO]\r
90                 public int LinePosition {\r
91                         get { throw new NotImplementedException (); }\r
92                 }\r
93         \r
94                 [MonoTODO]\r
95                 public string SourceUri {\r
96                         get { throw new NotImplementedException(); }\r
97                 }\r
98 \r
99                 #endregion // Properties\r
100 \r
101                 #region Methods\r
102 \r
103                 [MonoTODO]\r
104                 public override void GetObjectData (SerializationInfo info, StreamingContext context)\r
105                 {\r
106                         throw new NotImplementedException();\r
107                 }\r
108                 #endregion // Methods\r
109         }\r
110 }\r
111 \r
112 #endif // NET_2_0\r