Merge pull request #5714 from alexischr/update_bockbuild
[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 \r
32 using System;\r
33 using System.Runtime.Serialization;\r
34 \r
35 namespace System.Xml.Query\r
36 {\r
37         [Serializable]\r
38         public class XmlQueryException : SystemException\r
39         {\r
40                 #region Constructors\r
41 \r
42                 [MonoTODO]\r
43                 protected XmlQueryException (SerializationInfo info, StreamingContext context)\r
44                         : base (info, context)\r
45                 {\r
46                         throw new NotImplementedException ();\r
47                 }\r
48 \r
49                 public XmlQueryException ()\r
50                         : base ("An XML Query Exception has occurred.")\r
51                 {\r
52                 }\r
53 \r
54                 public XmlQueryException (string res)\r
55                         : this (res, null, null, null)\r
56                 {\r
57                 }\r
58 \r
59                 public XmlQueryException (string resource, Exception exception)\r
60                         : this (resource, null, null, exception)\r
61                 {\r
62                 }\r
63 \r
64                 internal XmlQueryException (string message, IXmlLineInfo lineInfo, string sourceUri, Exception innerException)\r
65                         : base (BuildMessage (message, lineInfo, sourceUri), innerException)\r
66                 {\r
67                 }\r
68 \r
69                 static string BuildMessage (string message, IXmlLineInfo li, string sourceUri)\r
70                 {\r
71                         if (li != null && li.HasLineInfo ()) {\r
72                                 message = String.Format ("{0}. Location: {1} ({2}, {3}).", message, sourceUri, li.LineNumber, li.LinePosition);\r
73                         }\r
74                         else if (sourceUri != null)\r
75                                 message = String.Format ("{0}. Location: {1}", message, sourceUri);\r
76                         return message;\r
77                 }\r
78 \r
79                 #endregion // Constructors\r
80 \r
81                 #region Properties\r
82 \r
83                 [MonoTODO]\r
84                 public int LineNumber {\r
85                         get { throw new NotImplementedException (); }\r
86                 }\r
87 \r
88                 [MonoTODO]\r
89                 public int LinePosition {\r
90                         get { throw new NotImplementedException (); }\r
91                 }\r
92         \r
93                 [MonoTODO]\r
94                 public string SourceUri {\r
95                         get { throw new NotImplementedException(); }\r
96                 }\r
97 \r
98                 #endregion // Properties\r
99 \r
100                 #region Methods\r
101 \r
102                 [MonoTODO]\r
103                 public override void GetObjectData (SerializationInfo info, StreamingContext context)\r
104                 {\r
105                         throw new NotImplementedException();\r
106                 }\r
107                 #endregion // Methods\r
108         }\r
109 }\r
110 \r